2016-11-08 56 views
2

我正在读取文本文件中的行。在文本文件中,每行都有一个单词。我可以从文件中读取和打印单词,但不会将整个单词打印在一行上。这个词被分成两部分。印刷文字的字母混合在一起。python readlines()将行分成两行

这里是我的代码:

import random 
fruitlist = open('fruits.txt', 'r') 

reading_line = fruitlist.readlines() 
word = random.choice(reading_line) 
mixed_word = ''.join(random.sample(word,len(word))) 

print(mixed_word) 

fruitlist.close() 

我怎么能显示一行一个字?

编辑:

这是文本文件的内容:

pinapple  
pear  
strawberry  
cherry  
papaya 

脚本应该打印这些词(与他们的字母混合)是这样的:

erpa 

(这将相当于梨)

现在它显示像这样:

erp 
a 
+1

能否请您更新到1你的问题)清楚地表明什么是期望输出和实际输出和2)包含您正在阅读的文件的简短片段? – wnnmaw

回答

5

那是因为你还洗牌的行终止字符是readlines或线迭代包括在该行。使用strip()摆脱他们(或rstrip())的

做这样的(避免readlines BTW):

with open('fruits.txt', 'r') as fruitlist: 
    reading_line = [x.strip() for x in fruitlist] 
    word = random.choice(reading_line) 
    mixed_word = ''.join(random.sample(word,len(word)))