用户输入和命令行参数
时间: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。