You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tkinter中获取右键「打开方式」启动程序对应的文件路径

实现思路

操作系统通过「打开方式」启动程序时,会把被选中的文件绝对路径作为命令行参数传递给程序,你只需要在Python代码中读取命令行参数即可拿到对应路径。

具体实现步骤
  • 导入sys模块读取命令行参数:sys.argv是存储命令行参数的列表,默认第一个元素是你的程序本身的路径,从第二个元素开始就是被打开的文件路径,单次右键打开单个文件时直接取sys.argv[1]即可。
  • 路径有效性校验:避免程序被直接双击打开时没有参数报错,要先判断sys.argv的长度是否大于1。
完整代码示例
import sys
import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.title("我的文件查看程序")

# 获取文件路径
file_path = ""
if len(sys.argv) > 1:
    file_path = sys.argv[1]
    # 此处可替换为你自己的文件处理逻辑
    try:
        with open(file_path, 'r', encoding='utf-8') as f:
            content = f.read()
        text = tk.Text(root)
        text.insert(tk.END, content)
        text.pack(fill=tk.BOTH, expand=True)
    except Exception as e:
        messagebox.showerror("错误", f"文件打开失败:{str(e)}")
else:
    messagebox.showinfo("提示", "请通过右键文件选择「打开方式」启动本程序")

root.mainloop()
注意事项
  • 如果你需要支持同时选中多个文件右键打开,遍历sys.argv[1:]即可拿到所有选中的文件路径
  • 程序打包成exe后逻辑完全通用,不需要额外修改,打包后直接手动关联到对应文件类型的打开方式即可正常使用

内容的提问来源于stack exchange,提问作者Lyk Koss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:27:03