循环以获取更多sys参数

2024-10-02 00:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个程序,它只在从命令提示符键入大量有效参数时运行。但程序将一直循环,直到输入“”。你知道吗

例如:

C:\User\ABC>python example.py "argv1" "argv2"

-> do something, then ask to keep prompting for more arguments in command prompt

C:\User\ABC>python example.py

-> no argument, the program will ask for arguments. If "" is entered, the program will exit

C:\User\ABC>python example.py "argv1" "argv2" "argv3"

-> too many arguments, error code display
sys.exit(1)

Tags: thepy程序forexampleexitprogramarguments
1条回答
网友
1楼 · 发布于 2024-10-02 00:30:57

更接近原始请求的可能是:

while True:
  extra_arg = raw_input("Please enter an additional argument, or press enter when done")
  if extra_arg == "":
      break
  sys.argv.append(extra_arg)

…之后,您将执行常规的len(sys.argv)处理。你知道吗


对于双参数情况,更简单的方法可能更像:

if len(sys.argv) > 1:
    arg1 = sys.argv[1]
else:
    arg1 = raw_input("Please enter a value for argument 1:")

if len(sys.argv) > 2:
    arg2 = sys.argv[2]
else:
    arg2 = raw_input("Please enter a value for argument 2:")

if len(sys.argv) > 3:
    sys.stderr.write("ERROR: Too many arguments\n")
    sys.exit(1)

也就是说,更常规的做法是退出,当用法不正确时,希望用户在提示符中添加缺少的参数后重新运行命令。你知道吗

相关问题 更多 >

    热门问题