右键单击命令将参数传递给python脚本

时间:2012-02-16 18:27:11

标签: python windows arguments regedit

我正在重写一个python脚本在工作中它的作用的一部分是在我右键单击图像序列的文件夹中搜索的。事情的python方面我认为我很擅长,但右键单击没那么多。我可以在注册表中创建一个右键单击按钮,但我不确定如何将一个参数从我右键单击该文件夹传递到我的python脚本。我希望参数有文件夹的路径。我发现了一篇关于此的帖子,但它对我不起作用..也许是因为他们在xp上制作它?我不确定。(链接如下)

Copy as path in windows context menu

我还发现了这段代码,这是我认为以前用作richt-click命令的代码..

@ =“\”C:\ Python26 \ python.exe \“\”L:\ HAL \ Func \ search \ search.py​​ \“%L”

任何人都可以向我解释这个吗?我理解它首先是运行python然后运行脚本..但是@ =和%L是什么?我真的很想理解这一点,昨天我花了一整天时间试图解决这个问题,但我发现并不多。 在此先感谢您的帮助:)

这是我想传递参数的python脚本

import sys
import os


def __main__(argv = sys.argv):

    fileName = argv[1]
    print argv
    print fileName

1 个答案:

答案 0 :(得分:0)

%L应该是%1。也就是说,您将传递给该命令的第一个参数,并将其作为参数传递给Python脚本。这将是您右键单击的文件的名称。

如果您的Python脚本准备接受多个参数(即多个选定文件),您可以在那里使用%*

行开头的

@表示命令行不会显示在屏幕上,因此只是为了运行命令而不会打开控制台窗口。 (如果Python脚本生成任何输出,则仍然会出现窗口。)

不确定此后的=标志;我还没有看到它,谷歌很难实现它。