python对文件和文件夹的操作
打开文件:
对文件进行读或写,首先用open函数打开,创建一个文件对象File Object,同时指定文件打开模式(读、写、读写)。当打开非文本文件如图片或PDF时,必须用rb或wb模式。
# 以读模式打开文本文件
txtfile = open('some.txt', 'r')
# 以读模式打开非文本文件
txtfile = open('some.pdf', 'rb')
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
File对象的属性:
模式 | 描述 |
---|---|
file.closed | 返回true如果文件已被关闭,否则返回false。 |
file.mode | 返回被打开文件的访问模式。 |
file.name | 返回文件的名称。 |
file.softspace | 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。 |
OS常见模块的功能:
os模块自带的文件和文件夹操作方法都非常有用。
得到当前工作目录的路径:
os.getcwd()
改变当前工作目录:
os.chdir(path)
返回指定目录下的所有文件和目录名:
os.listdir(path)
函数用来删除一个文件:
os.remove(path)和os.unlink(path)
检验给出的路径是否是一个文件:
os.path.isfile(path)
检验给出的路径是否是一个目录:
os.path.isdir(path)
判断是否是绝对路径:
os.path.isabs()
检查是否快捷方式
os.path.islink (filename )
检验给出的路径是否真地存在:
os.path.exists(path)
返回一个路径的目录名和文件名:
os.path.split() eg os.path.split(’/home/python /django.html’) 结果:(’/home/python’,‘django.html’)
拼接工作路径:
os.path.join(str1, str2, str3…)
分离扩展名:
os.path.splitext()
获取路径名:
os.path.dirname(path)
获取文件名:
os.path.basename()
运行shell命令:
os.system()
读取和设置环境变量:
os.getenv() 与os.putenv()
重命名:
os.rename(old, new )
创建多级目录:
os.makedirs(r“c:\python\test”)
创建单个目录:
os.mkdir(“test”)
删除单个目录:
os.rmdir(“test")
删除多个目录:
os.removedirs(r“c:\folder”)
获取文件属性:
os.stat()
修改文件权限与时间戳:
os.chmod()
终止当前进程:
os.exit()
获取文件大小:
os.path.getsize(filename)
上一篇: Excel VBA
下一篇: PHP对文件和文件夹的操作