通过CMD运行Python脚本

时间:2015-10-14 11:38:59

标签: python

我有以下文件:up.py

在此文件中:

def main(a_param, b_param, c_param):
    // Code
if __name__ == '__main__':
    exit(main())

我想通过CMD运行这个python文件,所以我写了这一行:

python up.py False True False

但我得到了下一个错误:

TypeError: main() takes exactly 3 arguments (0 given)

3 个答案:

答案 0 :(得分:1)

这与CMD无关。你的main函数需要三个参数,但你没有传递任何参数;您可以直接在if __name__ == '__main__'块中使用main()来调用它。

从该块中获取参数(例如来自sys.argv)并将它们传递给main,或者从函数签名中删除参数并将它们放在main中。

答案 1 :(得分:0)

您尝试在没有参数事件的情况下调用main函数,但它需要3(a_paramb_paramc_param)。

命令行参数存储在sys.argv中。要使用前3个命令行参数调用main函数,可以这样:

import sys

if __name__ == '__main__':
    main(*sys.argv[1:4])

为了澄清,*解包参数列表,因此main(*sys.argv[1:4])等同于main(sys.argv[1], sys.argv[2], sys.argv[3])

答案 2 :(得分:-2)

此代码适用于我

def main(a_param, b_param, c_param):
    # Code
    if __name__ == '__main__':
        exit(main())

然后:

$ python up.py False True False