本文目录一览:
- 1、如何用Python打开指定的某个文件夹?比如我要用Python打开D盘里的一个普通文件,该怎么做
- 2、python获取文件权限linux中,如何使用python获取指定文件的权限
- 3、python文件权限不够
- 4、R、python的文件夹操作
- 5、python linux限制只能打开指定目录下的文件
如何用Python打开指定的某个文件夹?比如我要用Python打开D盘里的一个普通文件,该怎么做
操作系统一般不允许程序直接操作磁盘文件的,文件在磁盘上的读写都是由操作系统提供的,文件操作包括创建、删除、修改权限、读取、写入等。要想实现对文件的操作就需要请求操作系统打开一个文件对象,然后通过操作系统提供的接口来实现对文件读写的相关操作。读写文件是最常见的 I/O 操作,Python内置相关API可以帮助我们快速的实现文件读写操作。
文件对象
Python内置的 open() 函数可以用于打开指定文件 ,该函数会返回一个文件对象(该对象包含了当前文件拥有的属性信息,相当于文件句柄)。参数file为要创建或打开文件的文件名称,参数mode用于指定文件的打开模式(可选),参数buffering用于指定对文件做读写操作时是否使用缓冲区。在打开文件之后就可调用文件对象的属性和方法,完成对文件的读/写操作之后最后需要关闭该文件,通过文件对象的close() 函数来实现即可。
打开模式
文件打开是可以指定其打开的模式,该参数通过mode来指定【默认模式为只读(r)】。选择不同的打开模式决定了后续可以对文件进行操作,如果使用 r 模式打开的文件则只能读取文件而无法修改文件内容。open()提供了多种打开模式,下面列出了对应的打开模式和说明:
python获取文件权限linux中,如何使用python获取指定文件的权限
[root@st-upgrade ~]# python
Python 2.6.5 (r265:79063, Nov 12 2010, 00:45:29)
[GCC 4.4.4 20100525 (Red Hat 4.4.4-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import os
os.stat('/home').st_mode
16877
oct(os.stat('/home').st_mode)
'040755'
755就是/home的权限,切个片oct(os.stat('/home').st_mode)[3:],就可以了
python文件权限不够
你的账号没有文件夹的权限呗,不知道你是用什么容器调用的python。如果是aspx,它是用另外一个系统账号来运行的,和你当前登录的账号是不一样的,权限也不一样,不能访问很正常。你把imgs设为所有人都有权限读写就行了。
R、python的文件夹操作
Python OS模块
1.重命名:os.rename(old, new)
2.删除:os.remove(file)
3.列出目录下的 文件 :os.listdir(path)
4.获取当前工作目录:os.getcwd()
5.改变工作目录:os.chdir(newdir)
6.创建多级目录:os.makedirs(r"c:/python /test")
7.创建单个目录:os.mkdir("test")
8.删除多个目录:os.removedirs(r"c:/python") #删除所给路径最后一个目录下所有空目录。
9.删除单个目录:os.rmdir("test")
10.获取文件属性:os.stat(file)
11.修改文件权限与时间戳:os.chmod(file)
12.执行操作系统 命令:os.system("dir")
13.启动新进程:os.exec(), os.execvp()
14.在后台执行程序:osspawnv()
15.终止当前进程:os.exit(), os._exit()
16.分离文件名:os.path.split(r"c:/python/ hello.py ") – ("c://python", " hello.py ")
17.分离扩展名:os.path.splitext(r"c:/python/ hello.py ") – ("c://python//hello", ".py")
18.获取路径名:os.path.dirname(r"c:/python/ hello.py ") – "c://python"
19.获取文件名:os.path.basename(r"r:/python/hello.py") – "hello.py"
20.判断文件是否存在:os.path.exists(r"c:/python/hello.py") – True
21.判断是否是绝对路径:os.path.isabs(r"./python/") – False
22.判断是否是目录:os.path.isdir(r"c:/python") – True
23.判断是否是文件:os.path.isfile(r"c:/python/hello.py") – True
24.判断是否是链接文件:os.path.islink(r"c:/python/hello.py") – False
25.获取文件大小:os.path.getsize(filename)
26.*******:os.ismount("c://") – True
27.搜索目录下的所有文件:os.path.walk()
[2.shutil]
1.复制单个文件:shultil.copy(oldfile, newfle)
2.复制整个目录树:shultil.copytree(r"./setup", r"./backup")
3.删除整个目录树:shultil.rmtree(r"./backup")
[3.tempfile]
1.创建一个唯一的临时文件:tempfile.mktemp() – filename
2.打开临时文件:tempfile.TemporaryFile()
[4.StringIO] #cStringIO是StringIO模块的快速实现模块
1.创建内存 文件并写入初始数据 :f = StringIO.StringIO("Hello world!")
2.读入内存文件数据:print f.read() #或print f.getvalue() – Hello world!
3.想内存文件写入数据:f.write("Good day!")
4.关闭内存文件:f.close()
rm(list=ls())
path = 'J:/lab/EX29 --在R语言中进行文件(夹)操作'
setwd(path)
cat("file A\n", file="A") #创建一个文件A,文件内容是'file A','\n'表示换行,这是一个很好的习惯
cat("file B\n", file="B") #创建一个文件B
file.append("A", "B") #将文件B的内容附到A内容的后面,注意没有空行
file.create("A") #创建一个文件A, 注意会覆盖原来的文件
file.append("A", rep("B", 10)) #将文件B的内容复制10便,并先后附到文件A内容后
file.show("A") #新开工作窗口显示文件A的内容
file.copy("A", "C") #复制文件A保存为C文件,同一个文件夹
dir.create("tmp") #创建名为tmp的文件夹
file.copy(c("A", "B"), "tmp") #将文件夹拷贝到tmp文件夹中
list.files("tmp") #查看文件夹tmp中的文件名
unlink("tmp", recursive=F) #如果文件夹tmp为空,删除文件夹tmp
unlink("tmp", recursive=TRUE) #删除文件夹tmp,如果其中有文件一并删除
file.remove("A", "B", "C") #移除三个文件
python linux限制只能打开指定目录下的文件
可以通过命令:"chmod755test.sh"进行修改
linux文件或目录的权限分为,读、写、可种权限。文件访问的用,文件创建者、与文件创建者同组的用户、其他用户三类。修改文件的权限或目录的命令为:"chmod755test.sh"。