python将stdin中的行直接存储到list对象

2024-04-19 16:04:53 发布

您现在位置:Python中文网/ 问答频道 /正文

在stackoverflow上研究这个问题的答案时,我学到了很多新的东西,但是到目前为止还无法完成交易。在

我的python进程将通过stdin接收一行输入,例如

[{'name':'ry', 'age':28}, {'name':'bo', 'age':11}, {'name':'ed', 'age':99}]

…我希望能够将这行代码直接存储到一个列表对象中,然后我可以对其进行迭代,例如

^{pr2}$

…但不管我是使用sys.stdin()还是fileinput模块,我都无法使其正常工作。例如,即使我用x = list(stdin.readline())显式地创建一个列表,它最终还是将每个字符作为列表中的一个单独的项,而不是按我希望的方式解析文本。不管怎样。。回到搜索。(感谢阅读。)


Tags: 对象答案代码name列表age进程stdin
1条回答
网友
1楼 · 发布于 2024-04-19 16:04:53

不好的方法是使用input。但是这是不安全的,并且在python3中已经删除了该函数(python3中名为input的函数与python2的raw_input相同)。在

更好的方法是使用^{}。在

import ast
x = ast.literal_eval(stdin.readline())

在线查看:ideone

相关问题 更多 >