5物事:
- あなたは、私が実際に
list1
とlist2
あると仮定col
とoutcol
を参照。
list1
とlist2
はサイズが異なるテキストファイルが長い4行以上であれば、それはn + 1
が実際に行っていない
- ラインをクラッシュしますので、これは、あなたが
n
上の境界を確認していない
- をクラッシュします何か、それはなければならない
n += 1
line.replace
は、新しい文字列を返します。
line = line.replace(...)
に変更してください。
あなたが達成しようとしていることはわかりません。このプログラムは、1行目のa
を2行目のa_replaced
,b
と置き換え、b_replaced
,c
行3の行内に、c_replaced
、d
をd_replaced
と置き換えます。 your'reが各ライン上のすべての置換を適用しようとした場合
replacements = [('a', 'a_replaced'), ('b', 'b_replaced'), ('c', 'c_replaced'), ('d', 'd_replaced')]
text = open(textfile, 'r')
n = 0
for line in text:
if n >= len(replacements):
break
print line[:-1].replace(replacements[n][0], replacements[n][1])
n += 1
はしかし、ここに方法は次のとおりです。
replacements = [('a', 'a_replaced'), ('b', 'b_replaced'), ('c', 'c_replaced'), ('d', 'd_replaced')]
text = open(textfile, 'r')
for line in text:
line = line[:-1]
for oldtext, newtext in replacements:
line = line.replace(oldtext, newtext)
print line
または、上記のプログラムの短いバージョン:
replacements = [('a', 'a_replaced'), ('b', 'b_replaced'), ('c', 'c_replaced'), ('d', 'd_replaced')]
text = open(textfile, 'r').read()
for oldtext, newtext in replacements:
text = text.replace(oldtext, newtext)
print text,
ここで、あなたはcolとoutcolを宣言していますか?彼らはリスト1とリスト2になっていますか? – thegrinner
'n 'をインクリメントすることを意味するなら、' n + = 1'と書く必要があります。しかし、私はあなたのプログラムが何をしたいのか理解しようとするのに苦労しています。 – vimukthi