Python文件写入函数 write()和writelines()


注意:python中,文件对象写入函数只有 write() 和 writelines() 函数,而没有名为 writeline 的函数。

  • write() 函数,可以向文件中写入指定内容。该函数的语法格式如下:
file.write(string)

其中,file 表示已经打开的文件对象;string 表示要写入文件的字符串(或字节串,仅适用写入二进制文件中)。
创建一个a.txt文件,往其中写入一行新的字符串。

f = open("a.txt", 'a')
f.write("\n写入一行新数据")
f.close()

另外,在写入文件完成后,一定要调用 close() 函数将打开的文件关闭,否则写入的内容不会保存到文件中。例如,将上面程序中最后一行 f.close() 删掉,再次运行此程序并打开 a.txt,你会发现该文件是空的。这是因为,当我们在写入文件内容时,操作系统不会立刻把数据写入磁盘,而是先缓存起来,只有调用 close() 函数时,操作系统才会保证把没有写入的数据全部写入磁盘文件中。

除此之外,如果向文件写入数据后,不想马上关闭文件,也可以调用文件对象提供的 flush() 函数,它可以实现将缓冲区的数据写入文件中。例如:

f = open("a.txt", 'w')
f.write("写入一行新数据")
f.flush()
  • writelines() 函数,可以实现将字符串列表写入文件中
    还是以 a.txt 文件为例,通过使用 writelines() 函数,可以轻松实现将 a.txt 文件中的数据复制到其它文件中,实现代码如下:
f = open('a.txt', 'r')
n = open('b.txt','w+')
n.writelines(f.readlines())
n.close()
f.close()

执行此代码,在 a.txt 文件同级目录下会生成一个 b.txt 文件,且该文件中包含的数据和 a.txt 完全一样。

需要注意的是,使用 writelines() 函数向文件中写入多行数据时,不会自动给各行添加换行符
上面例子中,之所以 b.txt 文件中会逐行显示数据,是因为 readlines() 函数在读取各行数据时,读入了行尾的换行符。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM