在所选文件上运行Python脚本

发布于 2021-01-29 17:59:50

我想编写一个python脚本,它将上载我在Windows资源管理器中选择的任何文件。这个想法是在Windows资源管理器中选择任何文件,右键单击以显示文件的上下文菜单,然后从中选择一个命令,例如“上传到Web服务器”。

选择命令后,Python运行脚本来接收文件路径和要上传的文件的文件名。编写将文件上传到Web的Python脚本似乎很简单。还不清楚如何在Windows上下文菜单中为Python脚本创建实体。以及如何将文件路径和文件名传递给Python脚本以捕获…。

关注者
0
被浏览
42
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    假设使用Windows 7,如果您打开一个文件夹并在地址栏中键入“
    shell:sendto”,然后按Enter,则将进入上下文菜单。您可以添加包含以下内容的.cmd文件。

    @echo off
    cls
    python C:\Your\File\uploadscript.py %1
    

    这将执行传递文件(%1)作为参数的python脚本。在python脚本中,您可以使用:

    import sys
    sys.argv  #sys.argv[1] is the file to upload
    

    这样可以获取所有传入的参数,因此sys.argv[1]应该为您获取传入的文件。我对此进行了测试,并且可以正常工作。之所以需要.cmd文件而不是直接进入.py文件,是因为.py文件不会显示在“发送到”菜单中。

    有关传递文件的更多信息,请参见:
    在Python中接受文件参数(从“发送到”上下文菜单中)

    编辑:添加脚本以调用多个文件。请注意,这会在每个单独的文件上调用python脚本,如果要将所有文件作为参数发送到python脚本,则需要做更多的工作。如果要执行更高级的操作,则需要研究批处理脚本。

    @echo off
    cls
    :upload_loop
    IF "%1"=="" GOTO completed
      python C:\Your\File\uploadscript.py %1
      SHIFT
      GOTO upload_loop
    :completed
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看