当前位置:  开发笔记 > 编程语言 > 正文

在Windows资源管理器中拖放到Python脚本

如何解决《在Windows资源管理器中拖放到Python脚本》经验,为你挑选了4个好方法。

我想将我的数据文件拖放到Python脚本上,让它处理文件并生成输出.Python脚本接受数据文件的名称作为命令行参数,但Windows资源管理器不允许脚本成为放置目标.

是否有某种配置需要在这个工作的某个地方完成?



1> Blair Conrad..:

当然.从一篇名为"在Windows中制作Python脚本可删除"的无心技术文章中,您可以通过添加注册表项来添加删除处理程序:

这是一个注册表导入文件,您可以使用它来执行此操作.将以下内容复制到.reg文件中并运行它(确保.py扩展名映射到Python.File).

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

这使得Python脚本使用WSH丢弃处理程序,该处理程序与长文件名兼容.要使用短文件名处理程序,请将GUID替换为86C86720-42A0-1069-A2E8-08002B30309D.

该帖子中的注释表明可以通过使用和类来启用"无控制台Python文件(.pyw)"或"编译的Python文件(.pyc)" .Python.NoConFilePython.CompiledFile


在脚本文件图标上.
此信息已过时.WSH下拉处理程序已添加到2.6.1(2008-12)中的Python安装程序中.但是,为3.6.0(2016-12)和3.5.3(2017-01)创建了一个新的drop handler,因为WSH处理程序不支持Unicode路径.只要.py文件与`Python.File` progid相关联,这应该适用于Windows当前支持的所有CPython版本.但是安装3.5.3+以获得新的drop处理程序是个好主意.

2> 小智..:

写一个简单的shell脚本(file.bat)

"C:\python27\python.exe" yourprogram.py %*

其中%1代表您传递给脚本的第一个参数.

现在将%目标文件拖放到file.bat图标上.


"c:\ Python27\python.exe"yourprogram.py%*捕获多个拖动的文件

3> 小智..:

使用已安装的python(至少2.6.1),您只需将任何文件拖放到python脚本上即可.

import sys
droppedFile = sys.argv[1]
print droppedFile

sys.argv[0]是脚本本身.sys.argv[n+1]是您丢弃的文件.



4> 小智..:

尝试使用py2exe.使用py2exe将python脚本转换为Windows可执行文件.然后,您应该能够在Windows资源管理器中将输入文件拖放到脚本中.您还应该能够在桌面上创建快捷方式并将输入文件拖放到桌面上.如果您的python脚本可以获取文件列表,您应该能够在脚本(或快捷方式)上拖放多个文件.


这种方法也适用于PyInstaller。
推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有