我们有一个states.txt
,其中包含了美国所有州的列表,格式如下:
state =[
'Alabama',
'Alaska',
'Arizona',
. . .
'West Virginia',
'Wisconsin',
'Wyoming'
]
省略号(......)是按字母顺序排列的美国其他州。
我想在Python中把它当作一个列表使用:
state = ['Alabama', 'Alaska', 'Arizona', . . . 'Wyoming']
但是使用read()
会将文件作为整个字符串返回,并且由于格式split()
或strip()
似乎不起作用。
这是可以做到的吗?或者是直接复制并粘贴到.py
中的唯一方法?
4条答案
按热度按时间pzfprimi1#
当然,你可以使用
ast.literal_eval
将Python常量转换成Python值。与evil
相反,这个函数使用起来很安全。首先在=
上进行拆分(只拆分一次,以确保其名称中包含等号的任何状态不会被弄乱:P),忽略开头的赋值,以获得纯列表常量,然后解析它:vohkndzv2#
可以使用
exec()
将文本作为python代码执行dgiusagp3#
我更愿意将其保存为json数组,然后将文件内容解析为json。
kgsdhlau4#
可以使用
ast.parse
将Python语句解析为AST,并在Assignment
节点的值中输出List
节点中Constant
节点的值,该节点应该是Module
主体的第一条语句:这将输出:
这种方法比使用
ast.literal_eval
更健壮,因为它允许第一个等号成为注解的一部分。演示:https://replit.com/@blhsing/FinancialUnlawfulDividend