对txt文档进行操作,首先使用Python的内置函数open()
file=open(file_name, assess_mode),其中access_mode是指打开文件的模式
access_mode 主要分为三种,读(read)、写(write)和追加(append)即:r、w、a三种模式,其他模式是在此基础上变化的,主要的变化模式有b、+、b+三种即:二进制、读写、二进制读写,具体的模式见一下详解。
以r模式为基础
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
以w模式为基础
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
以a模式为基础
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
在上述模式中r的各种模式不能创建新文件,即使用该模式时,所要操作的文件必须存在,而w、a模式则不必有此前提。具体来瞅瞅代码吧。
r模式
file = open("test.txt", 'r')
print file.read()
file.close()
----->>>
what's wrong with you?
How old are you?
###########################################################
file = open(path+"test.txt", 'r+')
line = "use the mode r+\nwhat's the diffent of r and r+?"
file.write(line)
#print file.read()
file.close()
----->>>
use the mode r+
what's the diffent of r and r+?
w模式
file = open(path+"test2.txt", "w") # test2.txt not exist
line = "use the mode w when the test2.txt not exist"
file.write(line)
file = open(path+"test2.txt", 'r')
print file.read()
file.close()
----->>>
use the mode w when the test2.txt not exist
###########################################################
file = open(path+"test2.txt", "w+") # test2.txt have been existed
print file.read(), "\n", "#####################################"
line = "use the mode w+ when the test2.txt have been existed"
file.write(line)
file.close()
with open(path+"test2.txt", "r") as f:
print f.read()
----->>>
#####################################
use the mode w+ when the test2.txt have been existed