浏览文件Tkinter后在<_io.BufferedReader name ='Path'>中恢复路径

时间:2019-04-18 09:50:46

标签: python tkinter

我正在使用tkinter Python库创建一个应用程序,并且已经有了:

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 个答案:

答案 0 :(得分:3)

该名称在BufferedReader属性的name上可用,因此self.file.name可以为您提供所需的信息。

但是,您可能想改用filedialog.askopenfilename()来获取名称,而不是打开文件对象。