我有一个程序在服务器上的.txt文件中输出列表,我想将该列表保存在新变量中。
我正在做:
with open ("file.txt", "r") as myfile:
data = myfile.read().replace('\n', '')
var = data
但显然print(var)
返回一个字符串"[list, of, stuff]"
是的,我可以绕过txt保存程序,但是如果我做不到,该怎么办?
您可以使用AST
import ast
var="[list, of, stuff]"
var=ast.literal_eval(var)
print var[0]
#output list
来自文档
ast.literal_eval(node_or_string)安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,字节,数字,元组,列表,字典,集合,布尔值和无。
如果您是使用JSON序列化原始数据的,则还可以使用Python标准库中的json模块。
即使只是,print(some_list)
您仍然可以使用json库;IE:
>>> from json import dumps, loads
>>> xs = [1, 2, 3]
>>> loads(dumps(xs)) == loads(repr(xs))
True
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句