2015-11-27 75 views
0

我想使用此代碼打開Python中的文件:打開文件上的Python 3

fileName=input('Please enter the file name: ') 
file=open(fileName,'r') 

我被要求輸入這是grid.txt文件名,我的那種類型,但似乎沒有什麼,我做錯了什麼,如果是的話,我做錯了什麼,什麼是解決方案。

謝謝。

+5

你,你沒有添加任何打印支桿..而且也沒有使用'文件'作爲變量名稱。 –

+0

是的,你必須做某事。與打開的文件,否則將不會發生;-) 我也建議在處理文件時使用with語句。否則,你(至少在Python 2.x)必須手動關閉文件後處理它。 (...)作爲in_file: do_sth(...) –

+0

@AvinashRaj:嗯...在Python 3中關於[使用'file'作爲變量名稱](http)並不重要(http ://stackoverflow.com/questions/112970/python-when-to-use-file-vs-open)。但是,我建議使用'f'或'inf','outf'等。 –

回答

1

下面是一些代碼做你在找什麼:

fileName=input('Please enter the file name: ') 
f=open(fileName,'r') 
print(f.read()) 
f.close() 
1

您已成功創建了文件對象,不過你只說,它的存在

所有你需要的是事後打印出來,這裏是下面一個例子:

f = open('workfile', 'r') 
print f.read() 

或者f.readline()在每次被調用時讀取下一行,並按照慣例f.close()應該叫關閉該文件後,你完成了閱讀/寫作。

1

您還可以使用with

fileName = input('Please enter the file name: ') 
with open(fileName, 'r') as fd: 
    for line in fd: 
     print(line.strip()) 

這將關閉該文件時,它的完成以及

+0

請注意,讀入的行包括尾隨換行符,打印添加換行符;這將打印你的文件*雙倍空間*。 –

+0

對此忘記了。增加了'.strip()' –

0

file.open()不打開文本編輯器文件(這是我假設你認爲它)。 相反,它準備通過python訪問的數據。

正如你的問題已經下面的評論中指出:你必須做的事情的文件。

嘗試:

with open(fileName) as f: 
    print(f.read()) 

閱讀了對文檔的開放()here。 另外,使用with open()語句將會提高您的代碼可讀性,併爲您處理文件關閉。 。

0

添加以下打印語句才能看到細節有關文件

與開放(文件名)的文件:

print("Name of the file: ", file.name) 

print("Closed or not : ", file.closed) 

print("Opening mode : ", file.mode) 

print("Softspace flag : ", file.softspace) 

print("file read:", file.read())