200を超えるファイルパスを含むテキストファイル(filenames.txt)があります。
/home/chethan/purpose1/script1.txt
/home/chethan/purpose2/script2.txt
/home/chethan/purpose3/script3.txt
/home/chethan/purpose4/script4.txt
これらの各ファイルに存在する複数の行のうち、それぞれに。のようなファイル名の行が含まれていますReference.txt
。私の目的は.txt
、Reference.txtの.csv
すべてのファイルを置き換えることです。Pythonの初心者として、私は同様のケースでstackoverflowのいくつかの質問を参照し、次のコードを作成しました。
私のコード:
#! /usr/bin/python
#filename modify_hob.py
import fileinput
f = open('/home/chethan/filenames.txt', 'r')
for i in f.readlines():
for line in fileinput.FileInput(i.strip(),inplace=1):
line = line.replace("txt","csv"),
f.close()
f.close()
コードを実行すると、上記のtxtファイル(script1、script2 ..)の内容が消去されます。つまり、テキストが1行も含まれなくなります。私はこの振る舞いに戸惑い、解決策を見つけることができません。