我正在编写一个处理文件中字符串的程序。我想要简单地将文字(例如
问题是我将每个LTORG上方收集的文字作为列表插入,而我想逐个插入文字。 我有以下输出:
第二行代码是主要的问题所在。它将收集的字面量添加到一个列表中,并将它们作为压缩的列表插入,而不是每行一个字符串。
我希望它看起来像这样:
SUB =X'1D'
这样的字符串,可以组装成=X'1D' BYTE X'1D'
)添加到测试文件中在 ' LTORG'
上方。问题是我将每个LTORG上方收集的文字作为列表插入,而我想逐个插入文字。 我有以下输出:
[' START 100', " SUB =X'1D'", ' LTORG', '["=X\'1D\' BYTE X\'1D\'"]', ' RESW
20', " SUB =X'0259'", " ADD =C'12345'", " MUL =X'4356'", " SUB =X'69'", '
LTORG', '["=X\'0259\' BYTE X\'0259\'", "=C\'12345\' BYTE C\'12345\'",
"=X\'4356\' BYTE X\'4356\'", "=X\'69\' BYTE X\'69\'"]', " ADD =C'05'", '
END EXA']
def handle_LTORG(self, testfile):
myfile.testfile = testfile
for index, line in enumerate(myfile.testfile):
line = line.split(" ", 3)
if len(line) > 2:
if line[2].startswith("=X") or line[2].startswith("=C"):
raw_literal = line[2]
instruction = 'BYTE'
operand = line[2][1:]
literal = [raw_literal, instruction, operand]
literal = ' '.join(literal)
myfile.literals.append(literal)
if line[1] == 'LTORG':
if myfile.literals is not None:
myfile.testfile.insert(index + 1, str(myfile.literals))
myfile.literals.pop(0)
第二行代码是主要的问题所在。它将收集的字面量添加到一个列表中,并将它们作为压缩的列表插入,而不是每行一个字符串。
我希望它看起来像这样:
[' START 100', " SUB =X'1D'", ' LTORG', '"=X'1D' BYTE X'1D'"', ' RESW 20', " SUB =X'0259'", " ADD =C'12345'", " MUL =X'4356'", " SUB =X'69'", ' LTORG', '"=X'0259' BYTE X'0259'", "=C'12345' BYTE C'12345'", "=X'4356' BYTE X'4356'", "=X'69' BYTE X'69'", " ADD =C'05'", ' END EXA']
testfile
的类型是什么?(因此,myfile.testfile
的类型是什么?) - TrebledJif myfile.literals:
而不是if myfile.literals is not None:
? - TrebledJ