问题 - 更新:
我可以让脚本打印出来,但很难找到一种方法将标准输出放入文件而不是屏幕上。下面的脚本用于将结果打印到屏幕上。我在此代码之后立即发布了解决方案,滚动到底部的 [解决方案]。
第一篇文章:
我正在使用 Python 2.7.3。我正在尝试提取冒号 ( :
) 之后的文本文件的最后一个单词并将它们写入另一个 txt 文件。到目前为止,我能够在屏幕上打印结果并且效果很好,但是当我尝试将结果写入新文件时,它给了我str has no attribute write/writeline
. 这是代码片段:
# the txt file I'm trying to extract last words from and write strings into a file
#Hello:there:buddy
#How:areyou:doing
#I:amFine:thanks
#thats:good:I:guess
x = raw_input("Enter the full path + file name + file extension you wish to use: ")
def ripple(x):
with open(x) as file:
for line in file:
for word in line.split():
if ':' in word:
try:
print word.split(':')[-1]
except (IndexError):
pass
ripple(x)
上面的代码在打印到屏幕时完美运行。但是,我花了几个小时阅读 Python 的文档,但似乎找不到将结果写入文件的方法。我知道如何打开文件并使用 writeline、readline 等对其进行写入,但它似乎不适用于字符串。
关于如何实现这一目标的任何建议?
PS:我没有添加导致写入错误的代码,因为我认为这会更容易查看。
第一篇文章结束
解决方案 - 更新:
设法让python提取并使用下面的代码将其保存到另一个文件中。
编码:
inputFile = open ('c:/folder/Thefile.txt', 'r')
outputFile = open ('c:/folder/ExtractedFile.txt', 'w')
tempStore = outputFile
for line in inputFile:
for word in line.split():
if ':' in word:
splitting = word.split(':')[-1]
tempStore.writelines(splitting +'\n')
print splitting
inputFile.close()
outputFile.close()
更新:
通过我的结帐 droogans 代码,它更有效。