我是Python新手,所以请耐心等待。
我一直在努力解决以下问题,希望你能提供帮助。
我正在尝试从文本文件中读取单词(每行一个单词),添加一些文本并写入输出文件“结果”。
所以,如果我的输入是:
cat
dog
horse
我的代码看起来像这样(当然真正的代码更严重)
import sys, fileinput
for line in fileinput.input(sys.argv[1]):
f = open('results','a+')
f.write('the following: "')
f.write(line)
f.write('" is an animal')
f.write('\n')
f.write('you could find on a farm')
f.write('\r\n')
f.close()
如果输入文件中只有一个单词,则输出正常。否则,如果有三个,前两个看起来像下面,但最后一个很好:
The following:"
cat" is an animal
you could find on a farm
所以在这个例子中猫和狗看起来像上面但是马会好的。
我使用的命令是python myfile.py myinput.txt
为什么意外断线以及如何解决?
非常感谢!
答案 0 :(得分:1)
输入文件中的换行符将被读入您的数据 - 您可以通过以下方式删除它们:
for line in fileinput.input(sys.argv[1]):
line = line.strip()
...
答案 1 :(得分:0)
如果您修改f.write(line)
行以阅读f.write(line.strip())
,那么它将为您解决额外的空白问题。
答案 2 :(得分:0)
string.strip()
将删除空格。
字符串是不可变的 - 因此请确保重新分配实际代码中的变量。
此外:
你是以非常不同的方式做到的。这样做的正确方法是使用字符串插值的多行字符串。