Python文件操作:读取txt存入列表后无法查看元素问题
Python读取txt文件存入列表失效问题排查
你的代码存在5个核心逻辑错误,逐一说明:
- 路径转义错误:Windows本地路径直接写反斜杠
\会被Python识别为转义字符,导致文件路径解析失败,需要给路径字符串加r前缀标记为原始字符串。 - 文件读取方法错误:
dosya.readline()仅会读取文件的第一行内容,直接遍历该返回值时实际是遍历第一行的单个字符,而非遍历文件所有行。逐行读取直接遍历文件对象即可,内存占用更低。 - 列表赋值逻辑错误:循环内每次执行
list.insert(sayac,"")插入的都是空字符串,完全没有把读取到的行内容存入列表;且初始列表list=['']本身就自带一个无效空元素。另外禁止用list作为变量名,它是Python内置的列表类型关键字,重名会覆盖内置功能引发后续异常。 - 打印逻辑错误:遍历列表时每次执行
print(list)会重复打印整个列表,而非打印单个元素,需要打印当前遍历到的元素。 - 冗余导入:代码中导入的
random、itertools.product全程未使用,属于无效代码。
修正后可运行代码
# 初始化空列表存储行内容,不要用内置关键字做变量名 word_list = [] # 路径加r前缀避免转义问题,指定编码防止特殊字符乱码 with open(r'D:\wordlist\Yeni klasör\kelime.txt', encoding='utf-8') as dosya: for line in dosya: # strip()可去掉每行首尾的换行符、多余空格,不需要可以直接删 word_list.append(line.strip()) # 逐行打印列表内存储的内容 for word in word_list: print(word) # 如果要直接查看完整列表,直接执行print(word_list)即可
补充说明:如果运行时出现编码报错,把open里的encoding参数改成
encoding='gbk'即可适配Windows系统默认的文本编码。
内容的提问来源于stack exchange,提问作者MHK.COM
相关产品推荐
相关产品推荐

