我正在尝试访问文本文件并随机化这些单词,但不断收到错误。
import random
amazement_words = open("amazement_words.txt", "r")
WORDS = (amazement_words)
word = random.choice(amazement_words)
amazement_words.close()
答案 0 :(得分:2)
amazement_words
不是您可以发送到random
模块中的任何内容的内容。您需要读取文件,将内容拆分为列表,然后随机播放列表。此外,您的程序没有输出,因为您不打印,写入文件或任何其他输出方法。行WORDS = (amazement_words)
只是将文件句柄分配给新名称(您不会使用)最后,您可以使用with
构造自动关闭文件。
import random
with open('amazement_words.txt') as f:
content = f.read().split()
random.shuffle(content)
print(*content)
答案 1 :(得分:0)
您正在打开文件句柄,但实际上从未读过内容:
import random
amazement_words = open("amazement_words.txt", "r") # open file
WORDS = amazement_words.read().split() # read file contents and split on spaces
word = random.choice(WORDS) # pick random word
amazement_words.close()
只是为了好玩,这是单行:
rand_word = random.choice(open('your_file.txt').read().split())