2014-05-16 109 views
0

我已經知道如何打印文件中使用shutil.copyfileobj到stdout後Shutil.copyfileobj載重線,它的工作是這樣的:線使用time.sleep()

with open('filename.extension', 'r') as file: 
    shutil.copyfileobj(file, sys.stdout) 

不幸的是我,當它這樣做,它一次打印整個文件。我不希望它這樣做。我希望它逐行逐行打印,在打印每行之間暫停使用time.sleep()。有什麼辦法可以做到這一點?

+0

爲了做到這一點,你需要閱讀和行寫文件中的行,而不是使用一個低級別的複製操作。 – user3553031

+0

@ user3553031我該怎麼做? – NotAGoodCoder

回答

1

嘗試這樣:

with open('filename.extension', 'r') as file: 
    for line in file: 
     print(line) 
     time.sleep(1) 
+0

它可以工作,但如果文件中有更多的2行,它將在每兩行後包含一個新行。我怎樣才能擺脫這一點? – NotAGoodCoder

+0

嘗試搜索如何在Python中不使用換行符進行打印。 – user3553031

+0

或者我可以只做__file.strip('\ n')__? – NotAGoodCoder