Восстановить путь в <_io.BufferedReader name = 'Path'> после просмотра файла Tkinter - PullRequest
0 голосов
/ 18 апреля 2019

Я создаю приложение с библиотекой Python tkinter, и оно уже есть:

class Application(Tk) :

    def __init__(self):
        Tk.__init__(self)
        self.Launch = Button(self, text="Launch", command=self.launchCallBack)
        self.Browse = Button(self, text="Browse", command=self.browseCallBack)
        self.pathlabel = Label(self)

        self.file = ''

        self.Launch.pack()
        self.Browse.pack()
        self.pathlabel.pack()

    def browseCallBack(self) :
        self.file = filedialog.askopenfile(parent=self, mode='rb', title='Choose a file', initialdir = "D:\\Users\T0211254\MyApp\Bundle CUD-CAPELLA 431\melody\eclipse\workspace", filetypes=[("aird Files", "*.aird")])
        self.pathlabel.config(text=str(self.file))

    def launchCallBack(self):
        create_file(self.file)

Проблема в том, что мой атрибут self.file возвращает меня:

<_io.BufferedReader name='MyFilePath'>

И я просто хочу восстановить MyFilePath.

Спасибо за помощь!

1 Ответ

3 голосов
/ 18 апреля 2019

Имя доступно в BufferedReader s в атрибуте name, поэтому self.file.name даст вам то, что вы хотите.

Однако вы, вероятно, захотите использовать filedialog.askopenfilename() вместо того, чтобы просто получить имя, а не объект открытого файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...