我尝试在russell 2k中创建一个新的股票代码文本文件,该文件如下所示:
我只想在每一行末尾加上股票代码。所以我有以下代码:
with open("russ.txt", "r") as f:
for line in f:
line = line.split()
line = line[-1]
if line == "Ticker": continue
print line
with open("output.txt", "w") as fh:
fh.seek(0,2)
print line
fh.write(line)
我在output.txt
文件中的最后一行代码是列表中最后一个代码,而不是所有的代码。我认为使用fh.seek(0,2)
会在每次通过的末尾创建一个新行。我做错什么了?而且,实际上我不需要创建另一个文档,我可以编辑当前的文档,但我也无法确定这一点,所以如果您能告诉我如何写入同样可以接受的文件。在
每次打开文件时都会覆盖该文件。将
with
行移到for
块之外,并在写入之前查找到末尾(或在追加模式下打开)。在filemode
"w"
在每个步骤中创建一个新的空文件。使用模式"a"
进行追加,或者将打开的文件移到循环之外。在或者最好只打开一次文件:
^{pr2}$我相信在您的案例中使用^{} 也会很方便:
fileinput.input
将更改原始文件。在相关问题 更多 >
编程相关推荐