【发布时间】:2021-08-23 12:27:14
【问题描述】:
我有一个简单的文件浏览器类,顶部有按钮,上面有路径目录名称。目前它在文件目录中启动。我想要做的是,当一个按钮被点击时,它应该切换到那个目录。其他一切正常,列出了当前目录的文件并显示按钮,我可以单击它们。浏览器中的代码是这样的:
self.base_dir = os.path.dirname(os.path.abspath(__file__))
self.dir = directory
self.load_images()
self.path = os.path.abspath(self.base_dir)
self.path_list = self.path.split(os.path.sep)
self.path_button_panel = Buttonbar(self.rect.width, 25, HORIZONTAL)
for dir_path in self.path_list:
b = Button(dir_path, action = self.set_directory)
self.path_button_panel.add(b)
按钮是这样的:
home marienbad python3 pygame 文件测试
所以当我单击 python3 时,它应该更改为那个。这些按钮可以工作,它们只是将目录名称作为文本并将其返回给 set_directory 方法。
所以在 set_directory 我试过了:
new_path = os.path.abspath(directory)
但这只是将它附加到当前目录路径的路径。
我尝试拆分路径并重新加入:
new_path = os.path.split(directory)
new_path = os.path.join(new_path, directory)
但它说它想要一个类似对象的路径。
我已经尝试了几件事,但现在让我很沮丧!我很困惑,我认为有一些方法可以将路径拆分为目录名称,但无法解决。我做错了什么?
【问题讨论】:
标签: python directory path operating-system