转载声明
打开、关闭文件
open、close函数
try:
file = open('/path/filename.txt','r') # 以只读方式打开filename.txt文件
finally:
if file:
file.close() # 确保文件关闭
为了简化程序,可以使用with语句。with语句可以自动调用close
with open('/path/filename.txt','r') as file # 以只读方式打开filename.txt文件
data = file.read() # 读取内容
open函数的常见模式有:
‘r’ | 只读模式 |
---|---|
‘w’ | 只写模式 |
‘a’ | 追加模式 |
‘b’ | 二进制模式(可添加到其它模式使用) |
‘+’ | 度/写模式(可添加到其它模式使用) |
读文件
在代码中加入try和finally的目的是确保文件能被关闭。因为在打开文件、读取或写入时如果出现错误,则文件不会被关闭。
try:
file = open('/path/filename.txt','r') # 以只读方式打开filename.txt文件
data = file.read() # 读取内容
finally:
if file:
file.close() # 确保文件关闭
读取方式:
- 一次性读取所有内容,使用 read() 或 readlines();
- 按字节读取,使用 read(size);
- 按行读取,使用 readline();
写文件
with open('/path/filename.txt', 'w') as file # 以只读方式打开filename.txt文件
file.write('write something you want\n') # 读取内容
如果上述文件已存在,则会清空原内容并覆盖掉;
如果上述路径是正确的(比如存在 /Users/ethan 的路径),但是文件不存在(data2.txt 不存在),则会新建一个文件,并写入上述内容;
如果上述路径是不正确的(比如将路径写成 /Users/eth ),这时会抛出 IOError;
with open('/path/filename.txt', 'a') as file # 以只读方式打开filename.txt文件
file.write('add something you want\n') # 读取内容
在原文件中追加内容