這個問題是another question的後續。你需要閱讀以瞭解這裏的問題。如何在列表中將's'字符串轉換爲0?
要做到這一點,
輸入1(文本文件1)
ABCD, QI30
FGDE, Q140
KLOM, Q232
.. ..
.. ..
.. ..
輸入2(文本文件2)
DATA: ARRAY: KLOM: n: 00000000011111111001111111ssss111111111111
DATA: ARRAY: ABCD: n: 000111111111111111101111111111111sss111111
DATA: ARRAY: FGDE: n: 01010101011111111sssssss111111111111111111
.. ..
.. ..
.. ..
輸出
Item=Q232; Var:KLOM
read_Var:read_q232: Get_Data: n: 00000000011111111001111111ssss111111111111
Item=Q130; Var:ABCD
read_Var:read_q150: Get_Data: n: 000111111111111111101111111111111sss111111
Item=Q140; Var:FGDE
read_Var:read_q170: Get_Data: n: 01010101011111111sssssss111111111111111111
.. ..
.. ..
.. ..
Item=Q232; Data:KLOM
read_Data:burn_q232: Get_Data: n: 000000000111111110011111110000111111111111
Item=Q130; Data:ABCD
read_Data:burn_q150: Get_Data: n: 000111111111111111101111111111111000111111
Item=Q140; Data:FGDE
read_Data:burn_q170: Get_Data: n: 010101010111111110000000111111111111111111
.. ..
.. ..
.. ..
在「SSSS '列3中的字符串input2文本文件被替換爲'0000'並在輸出文件的第二段中作爲輸出寫入。
這是我修改的代碼部分:
with open('output.txt', 'w') as fobj:
for key, values in arrays:
item = ids[key]
new_values = string.replace(values[3:],'s','0')
fobj.write('Item={}; Var:{}\n'.format(item, key))
fobj.write('read_Var:read_{}: Get_Data: {}\n\n'.format(item.lower(),
':'.join(new_values)))
但我得到這個錯誤:
AttributeError: 'list' object has no attribute 'replace'
非常感謝@MikeMüller 。 – Noorul