我有一个输入文件 - file.txt:
guten
('九','十一月')
('六','九')
0
结束
我的python程序是:
aa = []
with open('file.txt', 'r') as F1:
for line in F1:
line = line.rstrip('\n')
aa.append(line)
print aa
我得到的输出为:
['guten', "('nine', 'november')", "('six', 'nine')", '0', 'end', '']
但我的预期输出是:
['guten', ('nine', 'november'), ('six', 'nine'), '0', 'end', '']
有人能告诉我哪里出错了吗?你的帮助很有用。提前谢谢。
答案 0 :(得分:3)
虽然我无法想象这将如何有用,但以下内容将满足您的要求(鉴于您提供给我们的文件中的数据有限):
import ast
aa = []
with open('file.txt', 'r') as F1:
for line in F1:
line = line.rstrip('\n')
if line.startswith('('):
aa.append(ast.literal_eval(line)) # turn tuple strings into tuples
else:
aa.append(line)
print aa