这是从文件中获取文本并与字符串组合以打印到新文件以获得组合结果
file = open('/home/user/facts', 'r')
result = open('/home/user/result.txt', 'a')
i = 1
for line in file:
print >>result, "fact_text[%d] = \"%s\";"% (i, line)
i += 1
出于某种原因,";
出现在一个单独的行上,我不知道为什么。提前谢谢。
答案 0 :(得分:6)
使用for line in file
从文件中读取行时,生成的字符串包含换行符。您可以使用line.strip()
将其剥离。所以你的打印声明变成:
print >>result, "fact_text[%d] = \"%s\";" % (i, line.strip())
答案 1 :(得分:1)
因为line
在末尾包含换行符。您可以通过行[: - 1]或-2来修剪它,具体取决于您是否有DOS或Unix行结尾