使用 open
函数或者 file
函数来读文件,使用文件名的字符串作为输入参数:
f = open('test.txt')
f = file('test.txt')
这两种方式没有太大区别。
默认以读的方式打开文件,如果文件不存在会报错。
可以使用 read
方法来读入文件中的所有内容:
也可以按照行读入内容,readlines
方法返回一个列表,每个元素代表文件中每一行的内容:
使用完文件之后,需要将文件关闭。
f.close()
事实上,我们可以将 f
放在一个循环中,得到它每一行的内容:
删除刚才创建的文件:
我们使用 open
函数的写入模式来写文件:
使用 w
模式时,如果文件不存在会被创建,我们可以查看是否真的写入成功:
print open('myfile.txt').read()
如果文件已经存在, w
模式会覆盖之前写的所有内容:
除了写入模式,还有追加模式 a
,追加模式不会覆盖之前已经写入的内容,而是在之后继续写入:
写入结束之后一定要将文件关闭,否则可能出现内容没有完全写入文件中的情况。
还可以使用读写模式 w+
:
这里 f.seek(6)
移动到文件的第6个字符处,然后 f.read()
读出剩下的内容。
二进制读写模式 b:
在Python中,如果一个打开的文件不再被其他变量引用时,它会自动关闭这个文件。
所以正常情况下,如果一个文件正常被关闭了,忘记调用文件的 close
方法不会有什么问题。
关闭文件可以保证内容已经被写入文件,而不关闭可能会出现意想不到的结果:
为此我们可以使用 try/except/finally
块来关闭文件,这里 finally
确保关闭文件,所有的写入已经完成。
事实上,Python提供了更安全的方法,当 with
块的内容结束后,Python会自动调用它的close
方法,确保读写的安全: