这个问题是another question的后续问题.您需要阅读以了解此处的问题。
想做这个,
输入1(文本文件1)
ABCD, QI30
FGDE, Q140
KLOM, Q232
.. ..
.. ..
.. ..
Input2(文本文件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
.. ..
.. ..
.. ..
column3 input2 文本文件中的 'ssss' 字符串被替换为 '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'
最佳答案
您需要获取列表 values
中的最后一个条目并对其进行替换:
values[-1] = values[-1].replace('s', '0')
整个循环:
with open('output.txt', 'w') as fobj:
for key, values in arrays:
values[-1] = values[-1].replace('s', '0')
item = ids[key]
fobj.write('Item={}; Var:{}\n'.format(item, key))
fobj.write('read_Var:read_{}: Get_Data: {}\n\n'.format(item.lower(),
':'.join(values)))
输出:
Item=Q232; Var:KLOM
read_Var:read_q232: Get_Data: n:000000000111111110011111110000111111111111
Item=QI30; Var:ABCD
read_Var:read_qi30: Get_Data: n:000111111111111111101111111111111000111111
Item=Q140; Var:FGDE
read_Var:read_q140: Get_Data: n:010101010111111110000000111111111111111111
关于python - 如何在 python 中将列表中的 's' 字符串转换为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34506768/