如何读取myList.txt文件并逐行打印其中的元素?
解决方案
你的代码只是直接读取并打印文件的整行内容,没有解析其中的列表结构,因此输出和原文件内容一致。以下是两种可行的实现方案:
方法一:使用ast.literal_eval解析(推荐,安全可靠)
这种方法可以将字符串形式的Python列表转换为真正的列表对象,处理逻辑更严谨,且避免了eval的安全风险:
import ast fileName = "myList.txt" with open(fileName, "r") as f: # 读取文件内容并去除首尾空白字符 content = f.read().strip() # 将字符串解析为Python列表 item_list = ast.literal_eval(content) # 遍历列表,逐个打印元素 for item in item_list: print(item)
方法二:纯字符串处理(适用于简单场景)
如果不想引入额外模块,可以直接通过字符串操作提取元素,但这种方法仅适用于元素格式固定(无嵌套、无特殊字符)的情况:
fileName = "myList.txt" with open(fileName, "r") as f: content = f.read().strip() # 移除首尾的方括号,再按', '分割成元素列表 raw_items = content[1:-1].split(', ') # 移除每个元素的单引号并打印 for item in raw_items: print(item.strip("'"))
内容的提问来源于stack exchange,提问作者user3478415
相关产品推荐
相关产品推荐

