如何从批处理文件中调用特定的Python函数?

Der*_*rek 2 python batch-file

假设我有一个名为MyScript.py的简单Python脚本:

def MyFunction(someInput):
    #Do something with input
Run Code Online (Sandbox Code Playgroud)

我想编写一个批处理文件,通过someInputMyScript专门调用MyFunction.

现在,我可以做一些Python-foo并添加:

import sys

def MyFunction(someInput):
    #Do something with input

if __name__ == "__main__":
    eval(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)

然后我可以使用这样的批处理:

python MyScript.py MyFunction('awesomeInput')
pause
Run Code Online (Sandbox Code Playgroud)

但我觉得这里有一个更明显的解决方案,不涉及我在每个脚本中改进"_ name _ =="_ main _"逻辑.

Noe*_*lkd 6

如果您与脚本位于同一文件夹中,则可以执行以下操作:

python -c "import Myscript;Myscript.MyFunction('SomeInput')"
Run Code Online (Sandbox Code Playgroud)

  • 大!我最后添加了以下绝对路径:python -c"import sys; sys.path.append('C:\ My\Absolute\Path'); import MyScript; MyScript.MyFunction('SomeInput')" (2认同)