2016-11-08 58 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)))