テキストの小さな部分をテキストブロックに置き換えようとしています。私は、このテキストブロックがpythonのreplace関数を使って置き換えられることを期待しています。私は本当にsed
この仕事を得るために使用したいと思いますが、私はWindowsマシンです。とにかくここに私のスクリプトは、テキストのブロックが置き換えられていない理由はわかりません。特定のテキストをテキストブロックに置き換えます。
# Change the current working directory to IDX location
import os
print os.getcwd()
os.chdir(##location of my text files##)
print os.getcwd()
#Read file names
com_line=raw_input("File name please:")
contents=[]
strs = '#DREFIELD IDOL_SOURCE="idol source"\n#DREFIELD IDOL_TAXONOMY="taxonomy data"\n #DREFIELD IDOL_CATEGORY="IDOL_CATEGORY"\n #DREFIELD IDOL_PROMOTION="idol_promotion"\n #DREFIELD IDOL_PROMOTION_TERM="IDOL_PROMOTION_TERM"\n #DREFIELD IDOL_WHATSNEW="IDOL_WHATSNEW"\n #DREFIELD IDOL_SUMMARY="IDOL_SUMMARY"\n #DREFIELD IDOL_URL="IDOL_URL DATA"\n #DREFIELD IDOL_FORMNUMBER="IDOL_FORMNUMBER"\n #DREFIELD IDOL_DESCRIPTION="IDOL_DESCRIPTION DATA"\n#DRESECTION 0\n'
with open(com_line) as f:
contents.append(f.readlines())
f.close
#Writing to file
f2 = open("test.idx", 'w')
for content in contents:
for s in content:
if s == '#DRESECTION 0\n':
s.replace("#DRESECTION 0\n", strs)
f2.write("%s" % s)
f2.close
私はこのコードをテストし、条件文も入力しています。なぜ必要なテキストが#DRESECTION 0\n
の代わりにstrs
に置き換えられないのか不思議ですか?また、私はいくつかのギグの価値がある大規模なテキストファイルのこの操作を行うために探しています。 Pythonで大きなテキストファイルを読む良い方法はありますか?