【问题标题】:Drag drop file onto Python script将拖放文件拖放到 Python 脚本上
【发布时间】:2011-10-21 14:21:09
【问题描述】:

我正在寻找一种跨平台的方法,通过实现拖放方法使我的 Python 脚本处理文件的路径。目前我手动转到终端并使用sys.argv方法:

python myscript.py /Python/myfile.xls

但是,这是缓慢且“技术性”的。理想情况下,我会采用一种快速且交互式的方式来允许我的 Python 脚本处理文件。我主要需要它来为 Mac 工作,但跨平台会更好。

【问题讨论】:

    标签: python drag-and-drop


    【解决方案1】:

    如果您想使用 Tkinter,请查看此处的 Tkinter DnD 绑定 http://klappnase.bubble.org/TkinterDnD/index.html

    运行时,绑定会显示一个带有列表框的示例,允许您将文件拖到其上。

    【讨论】:

    【解决方案2】:

    您想将 myfile.xls 拖放到文件导航器中的 python 脚本上吗?说 Finder 或 Mac 上的任何东西,Win 上的 Explorer,Nautilus 等?在这种情况下,不会有一个简单的跨平台解决方案,因为您必须在不同系统上连接不同的软件。

    对于特定于 Mac 的解决方案,请尝试 AppleScript - 这是sample

    对于 Pythonic 的东西有 http://appscript.sourceforge.net/http://docs.python.org/library/macosa.html

    否则解决方案在上面的答案中。使用内置于 Tk、wx 或 QT 中的自定义 GUI。您可以查看他们各自的文档以进行拖放,他们确实有跨平台的方式。

    【讨论】:

    • 您真的需要在 2011 年在 Mac 上编写 AppleScript 吗? Windows 安装会自动进行设置 - 删除的文件会发送到 argv
    【解决方案3】:

    使用 Tkinter 或类似的东西编写一个小型 GUI 并让用户从 GUI 中选择一个文件是最简单的。大致如下:

    import tkFileDialog
    f = tkFileDialog.askopenfilename()
    # Go on from there; f is a handle to the file that the user picked
    

    但是,我不知道有任何跨平台方法可以让脚本使用拖放功能。不过,这可能更容易。

    【讨论】:

    • 这不是所要求的答案。
    猜你喜欢
    • 2010-11-12
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多