[英]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.