另一种选择是使用csv
模块(:
在您的情况下是列分隔符)。
假设有一个test.txt
文件内容如下:
sample1:1
sample2:1
sample3:0
sample4:15
sample5:500
你需要增加每个值。以下是您的操作方法:
import csv
# read the file
with open('test.txt', 'r') as f:
reader = csv.reader(f, delimiter=":")
lines = [line for line in reader]
# write the file
with open('test.txt', 'w') as f:
writer = csv.writer(f, delimiter=":")
for line in lines:
# edit the data here
# e.g. increment each value
line[1] = int(line[1]) + 1
writer.writerows(lines)
现在的内容test.txt
是:
sample1:2
sample2:2
sample3:1
sample4:16
sample5:501
但是,无论如何,fileinput
在您的情况下使用听起来更合乎逻辑(编辑相同的文件)。
希望有帮助。