文件访问及关闭
- FILE操作流程:
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件 f.close
- Open()的基本语法:
file_object = open(file_name, access_mode='r', buffering=-1)
手动创建yesterday 文件,access mode = reading, 只读,不可写或追加
f = open('yesterday', 'r', encoding='utf-8',) # r表示reading mode,只读模式,不能写或者追加 print(f.read())
f.close() # 记得关闭文件
新创建并可写模式(access mode = writing),但是不可读文件
f = open('yesterday2', 'w', encoding='utf-8') # w表示writing mode,是创建一个文件,会覆盖一个已存在同样名字的文件,要小心! print(f) f.write('twinkle twinkle little star, ') f.write('how I wonder what you are. ')
f.close()
access mode = append, 旧文件,可追加,不可读
f = open('yesterday','a',encoding='utf-8') # a表示append,追加不覆盖文件。但是append模式下,也不能读 f.write(' old MacDonald has a farm')
f.close()
- with 语句: 当with 代码结束,自动关闭文件且可管理多个文件。
with open('yesterday', 'r', encoding='utf-8') as f, open('yesterday2', 'r', encoding='utf-8') as f2: for line in f: print(line)
- 文件访问模式
文件模式 | 操作 |
r | 以‘只读’方式打开 |
w | 以‘只写’方式打开 |
a | 以‘追加‘方式打开 |
r+ | 以读写方式打开, 可读可写可追加 |
w+ | 以写读方式打开 |
a+ | 同a |
rU or r+U | "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用) |
rb | 以 二进制读 模式打开 |
wb | 以 二进制写 模式打开 |
ab | 以 二进制追加模式打开 |
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
File的内建方式
- 输入 - read(), readline(), readlines()