为了账号安全,请及时绑定邮箱和手机立即绑定

在 Tkinter 中使用字符串变量打开目录

在 Tkinter 中使用字符串变量打开目录

森栏 2021-10-05 16:25:06
我正在尝试制作一个带有 2 个按钮的小 GUI,其中第一个按钮允许用户选择一个目录,第二个按钮然后打开第一个按钮选择的目录。到目前为止,我已经设法创建了一个对话框,用户可以在其中选择一个目录,然后将目录位置存储为字符串。我在将字符串作为参考传递时遇到问题。我环顾四周并尝试使用以下行打开一个文件夹,但没有运气。f = open('%s' % folder_path, 'wb')我目前的代码是:from tkinter import *from tkinter import filedialogroot = Tk()root.geometry("400x400")def selectDirectory():    global dirname    global folder_path    dirname = filedialog.askdirectory(parent=root,initialdir="/",title='Please select a directory')    folder_path.set(dirname)    print(dirname)folder_path=StringVar()def fileopen():    f = open('%s' % folder_path, 'wb')# Creating buttonsselectFolder = Button(root, text = "Select directory", command = selectDirectory)selectFolder.grid(row=0,column=0)openfile = Button(root, text = "Open folder", command = fileopen)openfile.grid(row=1, column=0)root.mainloop()此外,任何有关我如何改进此代码的建议都将不胜感激。我最近才开始学习 Python。
查看完整描述

1 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

该open功能仅适用于文件!


打开方式: os.system(filepath)


但是如果你想打开一个文件夹,你可以使用os.startfile[Windows]!


示例代码:


from tkinter import *

from tkinter import filedialog

import os


root = Tk()

root.geometry("400x400")


def selectDirectory():

    global dirname

    global folder_path

    dirname = filedialog.askdirectory(parent=root,initialdir="/",title='Please select a 

directory')

    folder_path.set(dirname)

    print(dirname)

folder_path=StringVar()


def fileopen():

    os.system('%s.csv' % folder_path)


def folderopen():

    os.startfile(dirname)


# Creating buttons

selectFolder = Button(root, text = "Select directory", command = selectDirectory)

selectFolder.grid(row=0,column=0)


openfile = Button(root, text = "Open file", command = fileopen)

openfile.grid(row=1, column=0)


openfolder = Button(root, text = "Open folder", command = folderopen)

openfolder.grid(row=2, column=0)


root.mainloop()


查看完整回答
反对 回复 2021-10-05
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信