python读写文件
open()
- 使用
open()
函数可以创建或打开文件并返回一个文件对象,其函数格式如下:- fileobj = open(
filename
,mode
)
其中: - fileobj:open()返回的文件对象。
- filename:该文件的字符串名。
- mode:指明文件类型和操作的字符串。
- mode的第一个字母表明对其的操作,具体值如下。
r
:表示读模式。readw
:表示写模式。文件不存在则新建,如果存在则重写. writex
:表示在文件不存在的情况下新创建并写文件。a
:表示如果文件存在,在文件末尾追加写内容。append
- mode 的第二个字母是文件类型,具体值如下。
t
:代表为文本文件。textb
:代表为二进制文件。binary
- mode的第一个字母表明对其的操作,具体值如下。
- fileobj = open(
write()
- 使用
write(str)
函数可以将其参数str中的内容写入文件中。创建名为“relativity”新文件,并将一首诗写入该文件。 参考程序如下: poem = '''There was a young lady named Bright, ... Whose speed was far faster than light; ... She started one day ... In a relative way, ... And returned on the previous night.''' fout = open(‘relativity.txt', 'wt') fout.write(poem) fout.close()
read()
- 使用不带参数的
read()
函数可以一次读入文件的所有内容。用read()方法读relativity.txt,并输出长度。 参考程序如下: with open('relativity.txt', ='rt', encoding = 'utf-8') as fin: poem = fin.read() print(len(poem)) # 结果是150,说明读完了整个文件
readline()
- 使用
readline()
每次读入文件的一行,循环使用readline()
拼接成原来的字符串。用read()方法读relativity.txt,并输出长度。 参考程序如下: poem='' with open('relativity','rt') as fin: while True: line = fin.readline() if not line: break poem += line print(len(poem)) # 结果是150,说明读完了整个文件
- 对于一个文本文件,即使空行,也有1字符长度(换行字符'\n'),因此也会返回True。当文件读取结束后,readline()与read()都会返回空字符串,被while循环判为False。
close()
close()
方法负责关闭文件,如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问。 fileobj.close()- 用
with
可以自动close