Python: 将 arg 值分配给变量时出现奇怪的错误

Python: Weird error when assigning arg values to variables

当我尝试将 argparse 中的值分配给变量时,python 抛出了一个奇怪的错误。

我的代码是:

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--hostname', required=True)
    parser.add_argument('--username', default='root', type=str)
    parser.add_argument('--password', default='uy4h183D')
    parser.parse_args()
    hostname = args.hostname
    username = args.username
    password = args.password
    file = hostname + '.csv'
    print("The filename is {0}".format(file))
    main()

错误是:

./4collect.py --hostname bar 
Traceback (most recent call last):
File "./4collect.py", line 68, in <module>
hostname = args.hostname
NameError: name 'args' is not defined

您需要分配 args:

args = parser.parse_args()