問題 - 更新:
スクリプトを印刷することはできましたが、標準出力を画面ではなくファイルに出力する方法を見つけるのに苦労しました。以下のスクリプトは、結果を画面に出力するために機能しました。このコードの直後にソリューションを投稿し、一番下の [ソリューション] までスクロールします。
最初の投稿:
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 コードをチェックアウトすると、より効率的でした。