用户输入和命令行参数

时间:2020-03-05 18:55:32  来源:igfitidea点击:

我如何拥有一个可以接受用户输入的Python脚本,并且如果从命令行运行该如何使其读入参数?

解决方案

回答

var = raw_input("Please enter something: ")
print "you entered", var

或者对于Python 3:

var = input("Please enter something: ")
print("You entered " + str(var))

回答

处理命令行参数的最佳方法是argparse模块。

使用raw_input()获取用户输入。如果我们导入" readline模块",则用户将具有行编辑和历史记录。

回答

要读取用户输入,我们可以尝试使用" cmd"模块轻松创建迷你命令行解释器(带有帮助文本和自动完成功能)和" raw_input"(对于Python 3+为" input")以从用户读取一行文本。

text = raw_input("prompt")  # Python 2
text = input("prompt")  # Python 3

命令行输入在sys.argv中。在脚本中尝试以下操作:

import sys
print (sys.argv)

有两个用于解析命令行选项的模块:optparse(自python 2.7起已弃用,改用argparse)和getopt。如果我们只想将文件输入到脚本中,请注意fileinput的功能。

Python库参考是朋友。

回答

使用" raw_input"作为来自控制台/终端的输入。

如果我们只想使用命令行参数,例如文件名或者其他名称

$ python my_prog.py file_name.txt

那么你可以使用sys.argv ...

import sys
print sys.argv

sys.argv是一个列表,其中0是程序名称,因此在上面的示例中sys.argv [1]将是" file_name.txt"

如果要使用命令行选项完整选项,请使用optparse模块。

佩夫

回答

除非我们知道自己在做什么,否则请不要使用"输入"功能。与raw_input不同,input将接受任何python表达式,因此有点像eval

回答

从Python 3.2 2.7开始,现在有用于处理命令行参数的argparse。