2015-11-27 4 views
0

Я пытаюсь открыть файл на Python, используя этот код:Открытие файла на Python 3

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

меня просят ввести имя файла, который grid.txt, я печатаю, что в России, но ничего не появляется , я делаю что-то неправильно, если да, то что я делаю неправильно и каково решение.

Спасибо.

+5

я, вы не добавили печати stmts .. А также не использовать ' file' как имя переменной. –

+0

Да, вам нужно сделать что-нибудь. с открытым файлом, иначе ничего не произойдет ;-) Я также рекомендую использовать инструкцию with при обработке файлов. В противном случае вам (по крайней мере, на python 2.x) придется вручную закрыть файл после его обработки. это выглядело бы как с открытым (...) как in_file: do_sth (...) –

+0

@AvinashRaj: Хмм ... не имеет значения в Python 3 о [use 'file' as variable name] (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

Обратите внимание, что строки, которые читаются, включают в себя конечную новую строку и print добавляет новую строку; это напечатает ваш файл * doublespaced *. –

+0

Сразу забыл об этом. Добавлено '.strip()' –

0

file.open() не открывает файл в текстовом редакторе (что я предполагаю, что ты думал, что это делает). Вместо этого он готовит данные для доступа через python.

Как указано в комментарии ниже вашего Вопроса уже: вы должны что-то сделать с файлом.

Try:

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

Читайте на документации для открытого() here. Кроме того, использование инструкции with open() улучшит читаемость ваших кодов, а также поможет вам закрыть файл. .

0

Добавить следующие печатные STMT, чтобы увидеть подробности о файле

с открытым (Filename) в качестве файла:

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()) 
Смежные вопросы