[英]Run Python script via CMD
我有以下文件: 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)
这与CMD无关。 您的main
函数需要三个参数,但是您没有传递任何参数。 您可以直接从if __name__ == '__main__'
块直接调用它,只需main()
。
在该块中获取参数(例如,从sys.argv
)并将其传递给main,或者从函数签名中删除参数并将其获取到main中。
您正在尝试不带参数事件的情况下调用main
函数,尽管它需要3( a_param
, b_param
和c_param
)。
命令行参数存储在sys.argv
。 要使用前三个命令行参数调用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])
该代码对我有用
def main(a_param, b_param, c_param):
# Code
if __name__ == '__main__':
exit(main())
然后:
$ python up.py False True False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.