首页 文章

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

提问于
浏览
45

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

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

6 回答

  • 50

    创建文件的快捷方式 . 如果您没有默认的python open .py文件,请进入快捷方式的属性并编辑快捷方式的目标以包含您正在使用的python版本 . 例如:

    目标:C:\ Python26 \ python.exe <快捷方式目标路径>

    我发布这个是因为我不想编辑注册表,而.bat解决方法对我不起作用 .

  • 26

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

    "c:\Python27\python.exe" yourprogram.py %1
    

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

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

  • 2

    当然 . 从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 .

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

  • 6

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

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

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

  • 5

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

  • 0

    1) . 创建.py的快捷方式
    2) . 右键单击 - >属性
    3) . 前缀"Target:"与"python"因此它将.py作为参数运行到python命令中
    要么
    1) . 创建一个.bat
    2) . python some.py%*

    这些快捷版本对我来说最简单,我正在做的事情
    否则我会将它转换为.exe,但宁愿只使用java或c / c

相关问题