内建函数open
成功打开文件后会返回一个文件对象,否则会引发一个异常IOError:
file_object = open(file_name , access_mode = 'r' , buffering = -1)
,其中参数file_name
是包含要打开的文件名字的字符串,它可以是相对路径或者绝对路径。参数access_mode
的介绍如下:
access_mode | content |
---|---|
r | 以读的模式打开(文件必须以存在) |
rU或Ua | 以读模式打开(提供通用换行符支持) |
w | 以写的模式打开(若文件存在清空原文件) |
a | 以追加模式打开(从EOF开始,必要创建新文件) |
r+ | 以读写模式打开(文件必须存在) |
w+ | 以读写模式打开(若文件存在,则清空原文件) |
a+ | 以读写追加模式打开(若文件不存在创建该文件,文件存在则写入数据会被追加到文件尾) |
rb | 以二进制读模式打开 |
wb | 以二进制写模式打开 |
ab | 以二进制追加模式打开 |
rb+ | 以二进制读写模式打开 |
wb+ | 以二进制读写模式打开 |
ab+ | 以二进制读写模式打开 |
在open()
成功返回文件对象之后返回一个文件对象,所有对该文件的后续操作都通过这个文件句柄:
输入:
file_object.read(size)
#方法直接读取字节到字符串中,最多读取指定数目个字节,如果没有指定size或者指定值为负,文件将被读至末尾
readline(size)
#方法读取打开文件的一行。然后整行,包括行结束符符,作为字符串返回。如果设置了size参数,如果在超过了size个字节后会返回不完整的行。
输出:
file_object.write(string)
#方法将含有文本数据或二进制数据块的字符串写入到文件中。
移动:
file_object.seek(offset , from_what)
#可以在文件中移动文件指针到不同位置。offset字节代表相对于某个位置的偏移量,from_what的可选值为0,1,2
#0表示文件头
#1表示当前位置
#2表示文件末尾
关闭文件:
file_object.close
#关闭文件
文件内建方法
file_object.fileno() 返回文件的描述符
file_object.flush() 刷新文件的内部缓冲区
file_object.isatty() 判断file_object是否是一个类tty设备
file_object.tell() 返回当前在文件中的位置
文件内建属性
file_object.closed 表示文件已经被关闭,否则为False
file_object.encoding 文件所使用的编码------- 当Unicode字符串被写入数据时,他们将自动使用 file.encoding 转换为字节字符串,若file_object.encoding 为 None时使用系统的默认编码
file_object.mode Access文件打开使用的访问模式
file_object.name 文件名
与文件系统相关的OS模块方法
method | description |
---|---|
remove(path)/unlink(path) | 删除文件(如果路径是目录,raiseOSError) |
rename(src,dst)/renames(old,new) | 重命名文件 |
walk(top,topdown=True,onerror=None,followlinks=False) | 生成一个目录树下的所有文件 |
chdir(path) | 改变当前工作目录到path |
listdir(path) | 列出指定目录的文件 |
getcwd() | 返回当前工作目录 |
mkdir(path[,mode]) | 创建目录,mode可选,文件权限描述符,默认0777 |
rmdir(path) | 删除目录 |