2017-10-14 65 views
0

基本上我希望我的Python代碼能夠讀取我在.txt文件中的行,並在調用時將其打印出來放在另一個文件中。Python 3.6打印出.txt文件中的文本

我曾嘗試:

var = open("Test.txt") 
print(var) 

我也使用readlines方法()嘗試:

var = open("Test.txt") 
abcd = var.readlines() 
print(abcd) 

而我所得到的,當我使用:

<_io.TextIOWrapper name='Test.txt' mode='r' encoding='US-ASCII'> 
+1

你需要解決你的問題,以正確顯示你的代碼塊。 – pstatix

+1

abcd的結果應該是一個字符串列表。 TextIOWrapper是var的值。請查看文檔以獲取關於TextIO的更多信息https://docs.python.org/3/library/io.html#io.TextIOBase – ZzCalvinzZ

+0

您通常會使用'var = open(「Test.txt」)。readlines( )'然後'print(var [0])'打印第一行。您發佈的堆棧跟蹤不完整。如果您發佈其他內容,則更有可能獲得幫助。這裏是'readlines()'的文檔https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects – 16num

回答

0

開始一個上下文管理器,這會給你帶來什麼?

with open('Test.txt', 'r') as f: 
    content = f.read() 

print (content) 
+0

File「/Library/Frameworks/Python.framework/Versions/3.6 /lib/python3.6/encodings/ascii.py「,第26行解碼 return codecs.ascii_decode(input,self.errors)[0] UnicodeDecodeError:'ascii'編解碼器無法解碼位置22中的字節0xc2 :序號不在範圍內(128) – INeedHelpAndFast

+0

要麼你的文件有問題,要麼你需要重新安裝Python並重試。 – pstatix

+0

謝謝你的回答!重新安裝python並擺脫了錯誤。感謝堆! – INeedHelpAndFast

3

你所印刷只是文件的對象引用,而不是在它的實際文本。在Python中打印文件的內容時,必須使用read()函數返回文件的內容。您還應該指定您要使用open()函數中的文件執行的操作。

  • r
  • w是寫
  • r+是讀寫

對於你的情況,你可以使用:

var = open('Test.txt', 'r') 
    content = var.read() 
    print(content) 

這將返回的全部內容文件。