我有一个看起来像这样的文件:
76.049515 38.887974
20.341053 16.956047
72.749557 20.119661
28.935022 4.174813
... ...
我想在文件中添加一个具有相同值(1或0)的列,以便文件如下所示:
76.049515 38.887974 1
20.341053 16.956047 1
72.749557 20.119661 1
28.935022 4.174813 1
我不确定该如何去做; C或Python中的任何东西都可以。
答案 0 :(得分:1)
此脚本可以满足您的需求。
infile = open("inpu.txt", 'r') # open file for reading
outfile = open("output.txt","a") # open file for appending
line = infile.readline() # Invokes readline() method on file
while line:
outfile.write(line.strip("\n")+" 1\n")
line = infile.readline()
infile.close()
outfile.close()
对此的详细解释是location(以及其他可能的解决方案)
要点:
换行符位于该行的末尾,因此-d即将到来 一开始。为了解决这个问题,我们使用string.strip()来实现 从字符串的开头和结尾删除某些字符:
上面的脚本产生了这个:
76.049515 38.887974 1
20.341053 16.956047 1
72.749557 20.119661 1
28.935022 4.174813 1
答案 1 :(得分:0)
您open
with clause
,读取列表行,在列表中每个元素的末尾添加" 1"
,然后写回:
with open('a.x', 'r+') as f:
newlines=[line.strip()+' 1\n' for line in f] #strip off '\n's and then add ' 1\n'
f.seek(0) #move to the start of file to overwrite it.
f.writelines(newlines) #write the lines back.
#file closed automatically out of the with clause scope