2016-09-28 6 views
0

私はメモ帳++を使用して検索と置換機能を行っています。現在私は膨大な数のテキストファイルを持っています。私は別のファイルの異なる文字列の置換を行う必要があります。私はバッチでそれをしたい。例えば。メモ帳でPythonを使用しているテキストファイルからすべてのファイルのテキストを検索して置き換えてください。++

私は膨大な数のテキストファイルを持つフォルダを持っています。私は、検索のための文字列を持っている別のテキストファイルを持っていると

ため

にテキスト1テキスト1-修正

テキスト2テキスト2-修正

を置き換える私だけで開かれたファイルに対してこの置換を行う小さなスクリプトを持っていますメモ帳++。これを達成するために、pythonスクリプトメモ帳++で使用しています。コードは以下の通りです。

with open('C:/replace.txt') as f: 
for l in f: 
    s = l.split() 
    editor.replace(s[0], s[1]) 

簡単に言えば、findとreplace関数はファイルから入力をフェッチする必要があります。

ありがとうございます。タプルのリストに

答えて

0
with open('replace.txt') as f: 
    replacements = [tuple(line.split()) for line in f] 
for filename in filenames: 
    with open(filename, 'w') as f: 
     contents = f.read() 
     for old, new in replacements: 
      contents = contents.replace(old, new) 
     f.write(contents) 

読むの置換は、その後、その後、戻ってそれを書き、置換を行うには、各ファイルを通過し、メモリに内容を読み取ります。私はファイルが適切に上書きされると思うが、二重チェックしたいかもしれない。

+0

回答ありがとうございました。ソースフォルダのパスを設定する場所はどこですか?それはコードで言及されていません。親切に私を助けてください。 –

+0

pythonスクリプトはどこから実行された場所でも "in"です。ディレクトリを変更するには、 'os'モジュールの' chdir'関数を使用します:https://docs.python.org/3/library/os.html#process-parameters –

+0

コードが機能しません。私は作業フォルダを設定し、コードを試しました。それは機能していませんでした。それが示すエラーコードは 'ファイル名のファイル名の場合: NameError:name 'filenames'が定義されていません。 –

関連する問題