一連のディレクトリ (約 3 レベルの深さ) を再帰的にループしようとしています。各ディレクトリには一連のテキスト ファイルがあります。たとえば、行に特定の文字列が含まれている場合、テキスト行をディレクトリ パスに置き換えたいとします。
/path/to/text/file/fName.txt
fName.txt テキストの fName の行に文字列 'String1' が含まれている場合、この行を 'some text' + file に置き換えたいと思います。file はパスの最後の部分です。
これはPythonでは簡単なはずですが、管理できないようです。
編集: 非常に下手な質問で申し訳ありません。急いで立ち去らなければなりませんでした。Enter キーを押すべきではありませんでした。
これが私がこれまでに持っているものです
import os
for dirname, dirs, files in os.walk("~/dir1/dir2"):
print files
for fName in files:
fpath = os.path.join(dirname, fName)
print fpath
f = open(fpath)
for line in f:
#where I'm getting stuck
s = s.replace("old_txt", "new_txt")
#create new file and save output
私が行き詰まっているのは、行の一部のみに基づいて行全体を置き換える方法です。たとえば、行が
That was a useless question,
私が望むものに置き換えることはできないようです。私がやろうとしているのは、「役に立たない」の検索のみに基づいて行全体を変更することです。また、ファイル全体を書き直すよりも、1 行を変更するより良い方法はありますか?
ありがとう。