python - tkinter 如何在任何系统上打开特定文件夹(也包含 .py 脚本)的文件目录?

标签 python tkinter

换句话说,如果我将文件夹传递给包含 .txt 和 .py 的人,并且脚本从该文件夹在他们的机器上运行,我如何确保文件对话框将打开并选择 . txt不知道绝对路径?引用 initialdir=??

from tkinter import filedialog
from tkinter import *

root = Tk()
root.withdraw()
root.filename = filedialog.askopenfilename(initialdir='/python', title="Select file",
                                           filetypes=[("Text Files", "*.txt")])
print(root.filename)

最佳答案

您应该使用os 模块和os.getcwd() 来查找.py 文件的当前工作目录

import os
from tkinter import filedialog
import tkinter as tk

root = tk.Tk()
root.withdraw()
root.filename = filedialog.askopenfilename(initialdir=os.getcwd(), title="Select file",
                                           filetypes=[("Text Files", "*.txt")])
print(root.filename)

我还建议做 import tkinter as tk 而不是因为如果您不小心导入所有内容可能会导致命名冲突,而且更容易确定您所指的内容来自 tkinter 模块,当你用 tk

作为前缀时

关于python - tkinter 如何在任何系统上打开特定文件夹(也包含 .py 脚本)的文件目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39261178/

相关文章:

python - 使用 PyParsing 解析系统日志

python - 异常值 : type object 'Discipline' has no attribute 'description'

python - 如何防止 Tk 添加空间?

python - 我可以为 tkinter 图标使用哪些文件格式?

Python GUI 移动时崩溃

python - 如何替换字符串中的多个字符?

python - 在 NetworkX 图表中打印权重时出现问题

python - __str__ 和 pretty-print (子)字典

python - 如何删除复选框小部件 tkinter 周围的浅灰色?

python - python 中的 Tkinter 文本输入验证