将删除文件拖到Python脚本上

时间:2011-08-06 21:44:21

标签: python drag-and-drop

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

python myscript.py /Python/myfile.xls

然而,这很慢并且“技术性”。理想情况下,我会以快速和交互的方式允许我的Python脚本处理文件。我主要需要这个适用于Mac,但跨平台会更好。

3 个答案:

答案 0 :(得分:2)

如果你想使用Tkinter,请看看这里的Tkinter DnD绑定http://klappnase.bubble.org/TkinterDnD/index.html

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

答案 1 :(得分:1)

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

对于Mac特定解决方案,请尝试使用AppleScript - 此处为sample

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

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

答案 2 :(得分:0)

使用Tkinter或类似的东西编写一个小的GUI并让用户从GUI中选择一个文件是最容易的。这些方面的东西:

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

但是,我不知道任何跨平台方法来使脚本与拖放一起工作。不过,这可能更容易。