file.write(string)
其中,file 表示已经打开的文件对象;string 表示要写入文件的字符串(或字节串,仅适用写入二进制文件中)。 例如,创建一个 a.txt 文件,该文件内容如下:
C语言中文网
http://task.lmcjl.com
f = open("a.txt", 'w') f.write("写入一行新数据") f.close()前面已经讲过,如果打开文件模式中包含 w(写入),那么向文件中写入内容时,会先清空原文件中的内容,然后再写入新的内容。因此运行上面程序,再次打开 a.txt 文件,只会看到新写入的内容:
写入一行新数据
f = open("a.txt", 'a') f.write("\n写入一行新数据") f.close()再次打开 a.txt,可以看到如下内容:
C语言中文网
http://task.lmcjl.com
写入一行新数据
f = open("a.txt", 'w') f.write("写入一行新数据") f.flush()打开 a.txt 文件,可以看到写入的新内容:
写入一行新数据
有读者可能会想到,通过设置 open() 函数的 buffering 参数可以关闭缓冲区,这样数据不就可以直接写入文件中了?对于以二进制格式打开的文件,可以不使用缓冲区,写入的数据会直接进入磁盘文件;但对于以文本格式打开的文件,必须使用缓冲区,否则 Python 解释器会 ValueError 错误。例如:f = open("a.txt", 'w',buffering = 0) f.write("写入一行新数据")运行结果为:
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\demo.py", line 1, in <module>
f = open("a.txt", 'w',buffering = 0)
ValueError: can't have unbuffered text I/O
f = open('a.txt', 'r') n = open('b.txt','w+') n.writelines(f.readlines()) n.close() f.close()执行此代码,在 a.txt 文件同级目录下会生成一个 b.txt 文件,且该文件中包含的数据和 a.txt 完全一样。
本文链接:http://task.lmcjl.com/news/9873.html