2017.12.20 Python 文件I/O
1.open参数及Character作用
open(file, mode=‘r‘, buffering=None, encoding=None, errors=None, newline=None, closefd=True)
========= ===============================================================
Character Meaning
--------- ---------------------------------------------------------------
‘r‘ open for reading (default)
‘w‘ open for writing, truncating the file first
‘x‘ create a new file and open it for writing
‘a‘ open for writing, appending to the end of the file if it exists
‘b‘ binary mode
‘t‘ text mode (default)
‘+‘ open a disk file for updating (reading and writing)
‘U‘ universal newline mode (deprecated)
========= ===============================================================
2.r 和 rb 用法。
# r : 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
f = open(‘gushi‘,‘r‘,encoding = "utf8")
p = f.read()
print(p)
# f.write("1") r: 不能写 io.UnsupportedOperation: not writable
print(p)
f.colse()
#rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
f = open(‘gushi‘,‘rb‘)
p = f.read()
print(p)
f.colse()
3.r+ 和 rb+ 用法。
#r+ 打开一个文件用于读写。文件指针将会放在文件的开头。写入时紧跟着原文的内容后面继续添加。不会覆盖原文
f = open(‘gushi‘,‘r+‘,encoding = "utf8")
p = f.read()
print(p)
f.write("5")
print(p)
f.close()
#rb+ 打开一个文件用于读写。文件指针将会放在文件的开头。写入时紧跟着原文的内容后面继续添加。不会覆盖原文
f = open(‘gushi‘,‘rb+‘,encoding = "utf8")
p = f.read()
print(p)
f.write("5")
print(p)
f.close()
w |
打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb |
以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ |
打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ |
以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a |
打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab |
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ |
打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ |
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |