私は非常に愚かな質問をしている場合は、私は非常にPythonに新しいですので、私と一緒にご負担ください。私は周りを見ているが、おそらく私はこれを修正する方法を理解していない。Python - f.out filename
私は、CSVファイルを読み込み、値を見つけて置き換えてからファイルに書き込むスクリプトを実行しています。 CSVファイルには「n」個の行が含まれており、行ごとに別のファイルを作成し、「行3」の値と値を置き換える必要があります。しかし、私がスクリプトを実行すると、最終行の出力ファイルが1つしか得られません。以下は私のスクリプトです。
file_reader= open('variables.csv', "rt")
read = csv.reader(file_reader)
for row in read:
values = { '[type]':row[0], '[model]':row[1], '[name]':row[2],'[host]':row[3] }
if row[0] == "1":
if row[1] == "alpha":
t = open("alpha.conf", "r")
elif row[1] == "beta":
t = open("beta.conf", "r")
def replace_words(base_text, device_values):
temp = t.read()
t.close()
output = replace_words(temp, values)
outputfile = "host"+row[3]+".txt"
fout = open(outputfile,'w')
fout.write(output)
fout.close()
私がここで間違っていることを助けて助けてもらえますか?問題は、このコードで始まり
おかげで、
インデントを修正してください –
スペースの代わりにタブを使用しているため、コードのインデントが_still_ messed-upになっています。 – martineau
ありがとう、これらを修正しようとします。 – geeksy