如何检查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