2013-11-08 4 views
0

Я делаю свое первое спотыкание в Python/Tkinter. Когда я выбираю файл должен быть открыт, я:Как извлечь имя файла из файла askopenfile?

filein = askopenfile(initialdir=initial_dir, filetypes=mask, mode='r') 

Это нормально, но мой filein состоит ниже строку:

open file '/home/steve/projects/python/test/myfile', mode 'r' at 0xb7494a70 

какой-нибудь способ, чтобы получить Выбирается имя файла без мусора, что я делаю не нужно?

+1

Я готов поспорить, что ваш 'filein' состоит не из строки, а из файлового объекта, чья редакция представляет собой строку, содержащую эту подстроку внутри угловых скобок. И это не «мусор, который вам не нужен», это часть представления файлового объекта, и если он его не существует, вы не сможете делать такие вещи, как, скажем, чтение файла ... – abarnert

+0

" my filein состоит из строки ниже: ... "** Нет **. 'Filein' ** не ** строка, это файл-объект. Если вы хотите прочитать файл, вы можете просто «filein.read()». Если вы хотите написать ему, просто выполните 'filein.write (...)'. Это * было бы * строкой, если вы использовали 'askopenfilename'. – Bakuriu

ответ

1

Это file объект. Вы можете использовать filein.name, чтобы получить имя файла. Кроме того, вы можете заменить вызов askopenfilename(), чтобы просто получить имя файла, если это то, что вам нужно.

+0

Вот и все! – user2469202

+0

Вот и все! Мой вопрос не был точным, я не выделял термины, как это было необходимо, но, к счастью, вы поняли, что я имею в виду. Благодаря! – user2469202

Смежные вопросы