如何在Python中将abc.txt内容转为指定格式的数组?
可行的实现方法
方法一:用ast.literal_eval解析(推荐,安全可靠)
这种方法适合处理类似Python字面量格式的字符串,不会执行恶意代码,比eval()更安全。
import ast with open('abc.txt', 'r') as file: # 读取内容并去除首尾空白(比如换行符) content = file.read().strip() # 将内容包装成元组形式后解析,再转为列表 A = list(ast.literal_eval(f'({content})'))
方法二:手动分割处理(无需额外模块)
如果不想导入模块,可以手动对字符串进行分割和清洗:
with open('abc.txt', 'r') as file: content = file.read().strip() # 按', '分割字符串,再逐个去除元素首尾的单引号 A = [item.strip("'") for item in content.split(', ')]
原代码的问题
你之前的代码只是把文件内容原封不动读成了一个字符串(比如"'abc', 'edf', 'ghij'"),并没有将其解析成列表结构,所以需要通过上面的方式进一步处理字符串,才能得到目标列表。
内容的提问来源于stack exchange,提问作者str
相关产品推荐
相关产品推荐

