次のコードを実行すると:
file1 = open("sources.conf", "r");
datalist = list(file1.readlines());
datalist[3][32]= "11";
次のエラーが表示されます: 'str' object does not support item assignment
。少し読んだ後、Pythonで文字列を変更できないことがわかりました。これに対する他の回避策はありますか?
次のコードを実行すると:
file1 = open("sources.conf", "r");
datalist = list(file1.readlines());
datalist[3][32]= "11";
次のエラーが表示されます: 'str' object does not support item assignment
。少し読んだ後、Pythonで文字列を変更できないことがわかりました。これに対する他の回避策はありますか?
行ごとに読み取り、必要に応じて文字列を変更することをお勧めしますreadlines()
(ファイル全体をメモリに読み込むため、それが最善の解決策かどうかはわかりません)
with open("sources.conf", "r") as file1
datalist = []
for i, line in enumerate(file1):
if i == 3:
datalist[i] = line[:32] + "11" + line[33:]
else:
datalist[i] = line
またはjoin
メソッドを使用する
datalist[i] = ''.join([line[:32], "11", line[33:]])