我指的是,如果该文件被删除到程序的图标上,图像编辑器可以自动打开文件。现在,我没有开发图像编辑器,但我正在从文件中读取输入。
我该怎么做?
答案 0 :(得分:0)
这里有两个不同的意思。
首先,您可以将文件拖到程序的可执行文件中。例如,我在一个窗口中打开我的主目录,在另一个窗口中打开/ usr / local / bin,然后从左侧窗口拖动spam.txt并将其放在右侧的myprogram上。
理论上,这里发生的事情完全取决于文件管理器。但是,大多数文件管理器 - 包括Windows资源管理器和OS X Finder以及大多数流行的Linux发行版附带的默认内容 - 都会做同样的事情:只需运行程序,就像你在shell上输入一样: / p>
"/usr/local/bin/myprogram" "/home/kevinmills/spam.txt"
因此,从myprogram
内部,您只需要查看sys.argv[1:]
以获取文件列表,无论是在命令行上提供还是通过拖放操作,它都将以相同的方式工作
如果将文件拖动到符号链接,Windows快捷方式或Mac别名,将其存储在其他位置的程序的可执行文件中,就像在桌面上一样,实际上会发生同样的事情,您不必担心这些差异。
如果您为OS X构建了一个应用程序包而不仅仅是一个平面脚本,那么事情会更复杂。但是,所有更简单的包装器可以让你在不知道自己正在做什么的情况下构建这样的包,它应该自动处理使它看起来与平面脚本相同的魔力,所以你不必担心这一点。
或者,您可能会询问是否在停靠栏或任务栏等上删除已经运行的程序的某种表示文件。
那更复杂。每个平台都有所不同。但幸运的是,这不是你正在做的事情。