我想将我的数据文件拖放到Python脚本上,让它处理文件并生成输出 . Python脚本接受数据文件的名称作为命令行参数,但Windows资源管理器不允许脚本成为放置目标 .
是否有某种配置需要在这个工作的某个地方完成?
创建文件的快捷方式 . 如果您没有默认的python open .py文件,请进入快捷方式的属性并编辑快捷方式的目标以包含您正在使用的python版本 . 例如:
目标:C:\ Python26 \ python.exe <快捷方式目标路径>
我发布这个是因为我不想编辑注册表,而.bat解决方法对我不起作用 .
写一个简单的shell脚本(file.bat)
"c:\Python27\python.exe" yourprogram.py %1
其中%1代表您传递给脚本的第一个参数 .
现在将%目标文件拖放到file.bat图标上 .
当然 . 从mindless technology article called "Make Python Scripts Droppable in Windows",您可以通过添加注册表项来添加删除处理程序:
这是一个可用于执行此操作的注册表导入文件 . 将以下内容复制到.reg文件中并运行它(确保.py扩展名映射到Python.File) . Windows注册表编辑器版本5.00
[HKEY_CLASSES_ROOT \ Python.File \ ShellEx的\ DropHandler]@ = “{60254CA5-953B-11CF-8C96-00AA00B8708C}”
这使得Python脚本使用WSH丢弃处理程序,该处理程序与长文件名兼容 . 要使用短文件名处理程序,请将GUID替换为 86C86720-42A0-1069-A2E8-08002B30309D .
86C86720-42A0-1069-A2E8-08002B30309D
该帖子中的注释表明,可以通过使用 Python.NoConFile 和 Python.CompiledFile 类来启用“无控制台Python文件( .pyw )" or "已编译的Python文件( .pyc )” .
Python.NoConFile
Python.CompiledFile
.pyw
.pyc
使用已安装的python(至少2.6.1),您只需将任何文件拖放到python脚本上即可 .
import sys droppedFile = sys.argv[1] print droppedFile
sys.argv[0] 是脚本本身 . sys.argv[n+1] 是您删除的文件 .
sys.argv[0]
sys.argv[n+1]
尝试使用py2exe . 使用py2exe将python脚本转换为Windows可执行文件 . 然后,您应该能够在Windows资源管理器中将输入文件拖放到脚本中 . 您还应该能够在桌面上创建快捷方式并将输入文件拖放到桌面上 . 如果您的python脚本可以获取文件列表,您应该能够在脚本(或快捷方式)上拖放多个文件 .
1) . 创建.py的快捷方式2) . 右键单击 - >属性3) . 前缀"Target:"与"python"因此它将.py作为参数运行到python命令中要么1) . 创建一个.bat2) . python some.py%*
这些快捷版本对我来说最简单,我正在做的事情否则我会将它转换为.exe,但宁愿只使用java或c / c
6 回答
创建文件的快捷方式 . 如果您没有默认的python open .py文件,请进入快捷方式的属性并编辑快捷方式的目标以包含您正在使用的python版本 . 例如:
目标:C:\ Python26 \ python.exe <快捷方式目标路径>
我发布这个是因为我不想编辑注册表,而.bat解决方法对我不起作用 .
写一个简单的shell脚本(file.bat)
其中%1代表您传递给脚本的第一个参数 .
现在将%目标文件拖放到file.bat图标上 .
当然 . 从mindless technology article called "Make Python Scripts Droppable in Windows",您可以通过添加注册表项来添加删除处理程序:
[HKEY_CLASSES_ROOT \ Python.File \ ShellEx的\ DropHandler]
@ = “{60254CA5-953B-11CF-8C96-00AA00B8708C}”
这使得Python脚本使用WSH丢弃处理程序,该处理程序与长文件名兼容 . 要使用短文件名处理程序,请将GUID替换为
86C86720-42A0-1069-A2E8-08002B30309D
.该帖子中的注释表明,可以通过使用
Python.NoConFile
和Python.CompiledFile
类来启用“无控制台Python文件(.pyw
)" or "已编译的Python文件(.pyc
)” .使用已安装的python(至少2.6.1),您只需将任何文件拖放到python脚本上即可 .
sys.argv[0]
是脚本本身 .sys.argv[n+1]
是您删除的文件 .尝试使用py2exe . 使用py2exe将python脚本转换为Windows可执行文件 . 然后,您应该能够在Windows资源管理器中将输入文件拖放到脚本中 . 您还应该能够在桌面上创建快捷方式并将输入文件拖放到桌面上 . 如果您的python脚本可以获取文件列表,您应该能够在脚本(或快捷方式)上拖放多个文件 .
1) . 创建.py的快捷方式
2) . 右键单击 - >属性
3) . 前缀"Target:"与"python"因此它将.py作为参数运行到python命令中
要么
1) . 创建一个.bat
2) . python some.py%*
这些快捷版本对我来说最简单,我正在做的事情
否则我会将它转换为.exe,但宁愿只使用java或c / c