读取
读取 txt 全部内容
读取一个 txt 全部内容的函数是 f.read()
。
下面的代码案例是读取路径为 pose_path 下的 txt,然后将其内容写入 write_pose_path 中。
当时其实是为了修改 txt 的文件名。
with open(pose_path, "r") as f:
data = f.read()
with open(write_pose_path, "w") as f1:
f1.write(data)
读取 txt 所有行内容存入 List
将读取的每一行内容写入 List的函数是 f.readlines()
下面的例子是实现了将 txt 中每个浮点数读入,保留为 2 位小数,输出到新的 txt 文件。
注意这里的写是 追加写。
with open(oriPath, "r") as f:
data = f.readlines()
for single_data in data:
single_data = round(float(single_data),2)
#print(single_data)
with open(newPath, "a") as f1:
f1.write(str(single_data)+'\n')
每次读取一行
读取一行的函数是f.readline()
#read txt method one
f = open("./image/abc.txt")
line = f.readline()
while line:
print line
line = f.readline()
f.close()
写
写的样例代码是
with open("test.txt","w") as f:
f.write("这是个测试!") # 自带文件关闭功能,不需要再写f.close()
覆盖写
w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件
追加写(txt文件先前内容保存)
a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾
其他模式
r : 读取文件,若文件不存在则会报错
w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件
a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾
rb,wb: 分别与r,w类似,但是用于读写二进制文件
r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖
w+ : 可读,可写,文件不存在先创建,会覆盖
a+ : 可读、可写,文件不存在先创建,不会覆盖,追加在末尾