1. 程式人生 > 其它 >Python NameError: name 'argv' 'getopt' is not defined

Python NameError: name 'argv' 'getopt' is not defined

錯誤:NameError: name 'getopt' is not defined

原因:沒有引入模組,腳本里新增下面內容

import getopt

  

錯誤:NameError: name 'argv' is not defined

原因:沒有給 main() 函式傳入 argv 引數。即便多次跳轉函式,也要帶上 argv 引數。

## 檢查函式
def check(argv):
    ## 引數獲取
        try:
            opts, args = getopt.getopt(argv, "hd:D:",["help", "user_dir=", "Description="])
        except getopt.GetoptError:
            print("\n[ Error] 未知引數,請檢查。")
            Usage()
            sys.exit(-3)
        
        ## 引數解析
        for opt, arg in opts:
            if opt in ("-h", "--help"):
                Usage()
                sys.exit(-4)
            elif opt in ("-d", "--user_dir"):
                user_object_Dir = arg
            elif opt in ("-D", "--Description"):
                user_Description_file = arg

## 執行主函式
def main(argv):
    check(argv)

## 程式入口
if (__name__ == '__main__') or (__name__ == 'main'):
    main(sys.argv[1:])