需要打开文本文件,用超过5个字符的python打印随机字

时间:2013-08-10 18:27:00

标签: python file random

import random
dictionary = open('word_list.txt', 'r')
for line in dictionary:

    for i in range(0, len(line)):
        if i >= 5:    
            word = random.choice(line)
dictionary.close()
  1. 这段代码似乎对我不起作用
  2. 如果有帮助,这里是该文件的链接 http://vlm1.uta.edu/~athitsos/courses/cse1310_summer2013/assignments/assignment8/word_list.txt

2 个答案:

答案 0 :(得分:0)

import random

with open('word_list.txt', 'r') as f:
    words = [word.rstrip() for word in f if len(word) > 5]

print random.choice(words)

正如@ ashwini-chaudhary正确指出的那样,每个迭代步骤的word最后都有换行符\n - 这就是你需要使用rstrip()的原因。

答案 1 :(得分:0)

假设每个单词都在它自己的行上,例如:

word
word2
word3
...

然后你可以这样做:

from random import choice
with open("word_list.txt") as file:
    print choice([line.rstrip() for line in file if len(line) > 5])