Python文件读写操作-3·文件写操作(Write)
2022-12-26 本文已影响0人
技术老男孩
一、文件Write操作概述:
- write() 内建方法功能与 read() 和 readline() 相反
- 它把含有 文本数据 或 二进制数据 的内容写入到文件中去
二、Write 方法 —— 写文件
- 写入数据tmp/write.txt
- 每一次open并且mode=“w”的时候,将会覆盖文件的内容
- 但是在一次open的流程下,多次write()是追加内容,则不会逐行覆盖
# 打开文件
fw = open("/tmp/write.txt", mode="w")
# 写内容
fw.write("hello world!")
# 在一次open下,多次write是追加内容,而不会覆盖
fw.write("hello world! 2222\n")
# 关闭资源
fw.close()
三、Writelines 方法
- 和 readlines() 一样,writelines() 方法是针对 列表 的操作
- 它接受一个 字符串列表 作为参数,将他们写入文件
- 行结束符并不会被自动加入,所以如果需要的话,必须再调用 writelines() 前给每行结尾加上行结束符
writelines写入list01
# writelines 方法
list01 = ["hello\n", "world\n", "nfx\n"]
# 1.打开文件
fw1 = open("/opt/tc.txt", mode="w")
# 2.写文件
fw1.writelines(list01)
# 3.关闭资源
fw1.close()
writelines写入列表数据
# writelines写入数据
fwLines = open("/tmp/writelines.txt", mode="w")
# 执行writelines写入操作
fwLines.writelines(["line1\n", "line 2\n", "line 3\n"])
fwLines.writelines(["line4\n", "line 5\n", "line 6\n"])
fwLines.writelines(["line7\n", "line 8\n", "line 9\n"])
# 关闭资源
fwLines.close()
模拟cp案例
- 将/usr/bin/ls "拷贝" 到/tmp 目录下,但是不要修改原始文件
#实现流程:
# 创建文件对象fr和fw
# 利用while循环读出源文件的内容
# 保存读出来的内容
# 将内容写入新文件
# 关闭资源fr、fw
# 由于ls都是二进制数据,所以mode需要加上b
fr = open("/usr/bin/ls", mode="rb")
fw = open("/tmp/myls", mode="wb")
# 不知道要读取几行使用while循环
while True:
# 4KB 的读写效率最高 4*1024Byte
data = fr.read(4096)
# 判断数据是否为空,为空跳出循环
if not data:
break
print("data:", data)
# 写入数据
fw.write(data)
# 关闭资源(保持好习惯,减少内存消耗)
fr.close()
fw.close()