Python 命令行输入(参数)

Python 命令行输入(参数),python,input,command-line,output,Python,Input,Command Line,Output,我对命令行输入的工作原理感到非常困惑,因此为了练习,我试图将下面的程序取下来,并生成相同的信息,但仅仅通过使用命令行输入,唯一的问题是我不知道从何处开始 def main(): x = (input("Give me a boolean: ").lower() == 'true') y = str(input("Give me a string: ")) z = int(input("Give me a number: ")) if x == True:

我对命令行输入的工作原理感到非常困惑,因此为了练习,我试图将下面的程序取下来,并生成相同的信息,但仅仅通过使用命令行输入,唯一的问题是我不知道从何处开始

def main():
    x = (input("Give me a boolean: ").lower() == 'true')
    y = str(input("Give me a string: "))
    z = int(input("Give me a number: "))
    if x == True:
        print (y)
        print ("\"",y,"\"",sep="")
    else:
        print (z*2)



main()

请参阅中的
sys.argv
说明


…或者,要以正确的方式进行操作,请使用argparse:

请参阅中的
sys.argv
的说明


…或者,要以正确的方式进行操作,请使用argparse:

请参阅中的
sys.argv
的说明


…或者,要以正确的方式进行操作,请使用argparse:

请参阅中的
sys.argv
的说明


…或者,要以正确的方式进行操作,请使用argparse:

我同意Charles使用argparse。我只想补充一点,您的主要方法应该如下所示:

def start(var):
    # ... your program start...

def parser():
    # use argparse here
    # ...
    return var

if __name__ == "__main__":
    var = parser()
    start(var)
    # ...

你可以在答案中找到原因,我同意Charles使用argparse。我只想补充一点,您的主要方法应该如下所示:

def start(var):
    # ... your program start...

def parser():
    # use argparse here
    # ...
    return var

if __name__ == "__main__":
    var = parser()
    start(var)
    # ...

你可以在答案中找到原因,我同意Charles使用argparse。我只想补充一点,您的主要方法应该如下所示:

def start(var):
    # ... your program start...

def parser():
    # use argparse here
    # ...
    return var

if __name__ == "__main__":
    var = parser()
    start(var)
    # ...

你可以在答案中找到原因,我同意Charles使用argparse。我只想补充一点,您的主要方法应该如下所示:

def start(var):
    # ... your program start...

def parser():
    # use argparse here
    # ...
    return var

if __name__ == "__main__":
    var = parser()
    start(var)
    # ...

你可以在

的答案中阅读原因。为了在不阅读文档的情况下发现事物是如何工作的,交互式解释器是最好的

>>> input("something: ")
something: true
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'true' is not defined
>>> input("something: ")
something: True
True
>>> input("something: ")
something: 12
12
>>> input("something: ")
something: 12.4
12.4
>>> type(input("something: "))
something: 14.3
<type 'float'>
>>> type(input("something: "))
something: 14
<type 'int'>
>>输入(“某物:”)
有些事:真的
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第1行,在
NameError:未定义名称“true”
>>>输入(“某物:”)
有些事:真的
真的
>>>输入(“某物:”)
12岁左右
12
>>>输入(“某物:”)
某物:12.4
12.4
>>>键入(输入(“某物:”))
某物:14.3
>>>键入(输入(“某物:”))
某物:14

您可以看到,它将用户编写的内容作为Python值进行评估。

为了在不阅读文档的情况下发现事物的工作方式,交互式解释器是最好的

>>> input("something: ")
something: true
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'true' is not defined
>>> input("something: ")
something: True
True
>>> input("something: ")
something: 12
12
>>> input("something: ")
something: 12.4
12.4
>>> type(input("something: "))
something: 14.3
<type 'float'>
>>> type(input("something: "))
something: 14
<type 'int'>
>>输入(“某物:”)
有些事:真的
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第1行,在
NameError:未定义名称“true”
>>>输入(“某物:”)
有些事:真的
真的
>>>输入(“某物:”)
12岁左右
12
>>>输入(“某物:”)
某物:12.4
12.4
>>>键入(输入(“某物:”))
某物:14.3
>>>键入(输入(“某物:”))
某物:14

您可以看到,它将用户编写的内容作为Python值进行评估。

为了在不阅读文档的情况下发现事物的工作方式,交互式解释器是最好的

>>> input("something: ")
something: true
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'true' is not defined
>>> input("something: ")
something: True
True
>>> input("something: ")
something: 12
12
>>> input("something: ")
something: 12.4
12.4
>>> type(input("something: "))
something: 14.3
<type 'float'>
>>> type(input("something: "))
something: 14
<type 'int'>
>>输入(“某物:”)
有些事:真的
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第1行,在
NameError:未定义名称“true”
>>>输入(“某物:”)
有些事:真的
真的
>>>输入(“某物:”)
12岁左右
12
>>>输入(“某物:”)
某物:12.4
12.4
>>>键入(输入(“某物:”))
某物:14.3
>>>键入(输入(“某物:”))
某物:14

您可以看到,它将用户编写的内容作为Python值进行评估。

为了在不阅读文档的情况下发现事物的工作方式,交互式解释器是最好的

>>> input("something: ")
something: true
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'true' is not defined
>>> input("something: ")
something: True
True
>>> input("something: ")
something: 12
12
>>> input("something: ")
something: 12.4
12.4
>>> type(input("something: "))
something: 14.3
<type 'float'>
>>> type(input("something: "))
something: 14
<type 'int'>
>>输入(“某物:”)
有些事:真的
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第1行,在
NameError:未定义名称“true”
>>>输入(“某物:”)
有些事:真的
真的
>>>输入(“某物:”)
12岁左右
12
>>>输入(“某物:”)
某物:12.4
12.4
>>>键入(输入(“某物:”))
某物:14.3
>>>键入(输入(“某物:”))
某物:14

你看,它将用户编写的内容作为Python值进行评估。

我的老师一直在用sys.argv教我们,我目前从未见过argparse的用法。我对Python或任何形式的程序还是很陌生的,hahaMy老师一直在用sys.argv教我们,我目前从未见过argparse的用法。我对Python或任何形式的程序还是很陌生的,hahaMy老师一直在用sys.argv教我们,我目前从未见过argparse的用法。我对Python或任何形式的程序还是很陌生的,hahaMy老师一直在用sys.argv教我们,我目前从未见过argparse的用法。我对Python或任何形式的程序还是非常陌生的,hahaNot是否将var传递给start()?可以肯定的是,将命令行解析与运行时执行分离是一件好事,但您建议如何准确地获取解析的参数呢。感谢您的提示:)没有将var传递给start()?可以肯定的是,将命令行解析与运行时执行分离是一件好事,但您建议如何准确地获取解析的参数呢。感谢您的提示:)没有将var传递给start()?可以肯定的是,将命令行解析与运行时执行分离是一件好事,但您建议如何准确地获取解析的参数呢。感谢您的提示:)没有将var传递给start()?可以肯定的是,将命令行解析与运行时执行分离是一件好事,但您建议如何准确地获取解析的参数呢。谢谢你的提示:)@AaronHall,我同意这些问题并不完全相同,但我很难理解这个问题的答案如何不适用于这个问题。但是是的,你找到的那个更好。@AaronHall,我同意这些问题并不完全相同,但我很难看出这个问题的答案怎么也不适用于这个问题。但是是的,你找到的那个更好。@AaronHall,我同意这些问题并不完全相同,但我很难看出这个问题的答案怎么也不适用于这个问题。但是是的,你找到的那个更好。@AaronHall,我同意这些问题并不完全相同,但我很难看出这个问题的答案怎么也不适用于这个问题。但是,是的,你发现的那个更好。这和什么有关系