Sha*_* KL 5 python file list python-2.7
我有一个文件,它由多个列表组成,如下所示
[234,343,234]
[23,45,34,5]
[354,45]
[]
[334,23]
Run Code Online (Sandbox Code Playgroud)
我正在尝试逐行读取并附加到 python 中的单个列表。
怎么做?
我到目前为止尝试过>
with open("pos.txt","r") as filePos:
pos_lists=filePos.read()
new_list=[]
for i in pos_lists.split("\n"):
print(type(i)) #it is str i want it as list
new_list.extend(i)
print(new_list)
Run Code Online (Sandbox Code Playgroud)
提前致谢
你可以试试这些:
>>> from ast import literal_eval
>>> with open(YOURTEXTFILE) as f:
... final_list = [literal_eval(elem) for elem in f.readlines()]
>>> final_list
[[234, 343, 234], [23, 45, 34, 5], [354, 45], [], [334, 23]]
Run Code Online (Sandbox Code Playgroud)
或者,
>>> from ast import literal_eval
>>> with open(YOURTEXTFILE) as f:
... final_list = sum(map(literal_eval, s.readlines()), [])
>>> final_list
[234, 343, 234, 23, 45, 34, 5, 354, 45, 334, 23]
Run Code Online (Sandbox Code Playgroud)
随心所欲。
同样的事情可以用内置的 python 来完成,eval()但是不建议eval()在不受信任的代码上使用,而是使用ast.literal_eval()它只适用于非常有限的数据类型。有关更多信息,请参阅使用 python 的 eval() 与 ast.literal_eval()?
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |