打开文件:

对文件进行读或写,首先用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)