如何从文本文件导入单词?正确代码实现问询
正确从word.txt导入单词的实现方式
你之前写的words_to_guess = import words.txt是错误的——import是Python用来导入模块的关键字,不能直接用来读取文本文件。下面是几种靠谱的实现方法:
方法1:一次性读取所有单词(每行一个单词)
如果你的word.txt里每行存一个单词,用这个方法最方便:
with open('word.txt', 'r', encoding='utf-8') as file: words_to_guess = file.read().splitlines()
with语句会自动帮你关闭文件,不用手动写file.close(),避免资源浪费splitlines()会把文件里的每一行分割成列表的一个元素,自动去掉换行符
方法2:按空白字符分割单词(单词用空格/逗号等分隔)
如果文件里的单词是用空格、逗号或者混合空白字符放在一起的,用这个:
with open('word.txt', 'r', encoding='utf-8') as file: words_to_guess = file.read().split()
split()默认会按任意空白字符(空格、换行、制表符等)分割内容,自动忽略多余的空白
方法3:逐行读取并过滤空行
如果文件里可能有空行,需要过滤掉的话,用逐行读取的方式:
words_to_guess = [] with open('word.txt', 'r', encoding='utf-8') as file: for line in file: # 去掉每行前后的空白字符(包括换行符) cleaned_word = line.strip() # 只把非空的单词加入列表 if cleaned_word: words_to_guess.append(cleaned_word)
注意事项
- 如果word.txt和你的Python脚本不在同一个文件夹里,要写绝对路径,比如Windows下
'C:/Users/你的用户名/Desktop/word.txt',Linux/macOS下'/home/你的用户名/Desktop/word.txt' - 一定要指定
encoding='utf-8',避免读取中文或特殊字符时出现乱码
附代码示例截图:

内容的提问来源于stack exchange,提问作者Stephie Kgaolo
相关产品推荐
相关产品推荐

