Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查PYTHON中不同位置的空命令行参数?_Python_Command Line - Fatal编程技术网

如何检查PYTHON中不同位置的空命令行参数?

如何检查PYTHON中不同位置的空命令行参数?,python,command-line,Python,Command Line,我试图检测第二个命令行参数是否为空字符串“” 完整的命令行参数将包括以下内容:(方法、用户名、密码) 如果用户名是空字符串,我想给出一个错误。我尝试了下面的代码,但不起作用 if sys.argv[1] == "AddUser": if sys.argv[2] == "": print("Error: username missing") else:

我试图检测第二个命令行参数是否为空字符串“”

完整的命令行参数将包括以下内容:(方法、用户名、密码)

如果用户名是空字符串,我想给出一个错误。我尝试了下面的代码,但不起作用

    if sys.argv[1] == "AddUser":
        if sys.argv[2] == "":
            print("Error: username missing")
        else:
            AddUser(sys.argv[2],sys.argv[3])
但我得到了以下错误:

C:\Users\user\PycharmProjects\hello>python Hello.py AddUser  123123
Traceback (most recent call last):
  File "Hello.py", line 148, in <module>
    main()
  File "Hello.py", line 11, in main
    AddUser(sys.argv[2],sys.argv[3])
IndexError: list index out of range
C:\Users\user\PycharmProjects\hello>python hello.py AddUser 123123
回溯(最近一次呼叫最后一次):
文件“Hello.py”,第148行,在
main()
文件“Hello.py”,第11行,在main中
AddUser(sys.argv[2],sys.argv[3])
索引器:列表索引超出范围

我如何解决这个问题?任何帮助都将不胜感激

这不是一个Python问题,而是一个基本的shell操作问题,但究竟是什么问题呢。您只指定了两个参数:
AddUser
123123
。第二个参数不是空的,因此它尝试添加用户,但没有第三个参数,因此无法获取该用户。要指定空参数,请引用参数:
python Hello.py AddUser“123123
谢谢您的输入。现在我更好地理解了它,是的,您在命令行中提到的“”是正确的,我认为它只是空间。
C:\Users\user\PycharmProjects\hello>python Hello.py AddUser  123123
Traceback (most recent call last):
  File "Hello.py", line 148, in <module>
    main()
  File "Hello.py", line 11, in main
    AddUser(sys.argv[2],sys.argv[3])
IndexError: list index out of range