2025年python函数中用于获取用户输入值(在python中,用于获取用户输入的函数)

python函数中用于获取用户输入值(在python中,用于获取用户输入的函数)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p> 

讯享网


参考链接:http://c.biancheng.net/view/4228.html
python获取参数的方式笔者归纳下来主要有三种方式,下面依次说明。

input()函数

input()函数通过在命令行提示的形式提示用户输入需要的参数,如下:

讯享网
 

也就是说,无论输入的是什么,最终data的数据类型都是“str”。可以尝试输入 8899, “8899”, aabb, “aabb”,结果都是一样的。
需要注意的是python2中input与python3的input不一样,不要混淆了。具体参考:python2中的input 以及 python3中的input
python2中raw_input与python3中的input比较类似,在此不赘述,见:py2的raw_input与py3的input

sys.argv模块

参考:链接
sys标准库最常用的是sys.argv,用来调用命令行参数,这些命令行参数以链表形式存储于 sys 模块的 argv 变量。
例如在test.py文件有如下代码:

讯享网

在命令行窗口执行 python test.py one two three,结果如下:

[‘test.py’, ‘one’, ‘two’, ‘three’]


讯享网

 

打印的结果:

E:code-studypython est.py

argparse模块

参考链接:
argparse模块
argparse参数介绍
还是先看例子吧:

讯享网

代码保存到test2.py文件中,我们先运行:python test2.py -h,显示如下结果:

 

-h表示显示帮助信息,也可以输入–help显示帮助信息。通常–help是表示完整的长参数,-h表示简写方式。
上面的帮助信息显示有两个参数,输入形式可以是 -a 和 -b 或者是 –inputA 和 –inputB
help=“this is parameter a”的帮助信息也会显示在窗口上面,用来描述该参数。type表示该参数类型,必须输入的类型。default表示在没有输入该变量的情况下默认的值。
a和b两个参数不同的地方在于,a参数中多了一个dest=“argA”,用来表示在代码中如何引用参数a。这个可以从代码中看到,加了dest之后,参数a的引用方式是args.argA。而b参数因为没有加dest描述,默认的引用方式是args.inputB。参数a使用dest已经改变了其引用名称,因而默认的args.inputA已经不能使用了。
在命令行直接运行 python test2.py,结果如下:

讯享网
 

getopt模块

参考:Python命令行:getopt模块详解
该模块平时用的少,刚好最近碰到有个需求是在命令行输入 -v 的时候打印脚本的版本信息,不执行脚本,于是想到了该模块。
将下面代码保存在 test2.py 中。
getopt模块参数列表:

getopt.getopt(args, shortopts, longopts=[])
args指的是当前脚本接收的参数,它是一个列表,可以通过sys.argv获得
shortopts 是短参数,类似-v,-h这样的参数。短参数后面有冒号 “:” 表示该参数有输入值。
longopts 是长参数,类似–help,–version这样的参数。长参数后面带等号 “=” 表示参数有输入值

讯享网

执行 python test2.py -v,打印版本信息并退出。

 

执行 python test2.py -h,打印帮助信息并退出。

讯享网

执行 python test2.py -p /e/code-study/python,打印路径并退出。

 

如果执行过程中没有参数输入,会直接执行主函数的代码,不会出现错误。

讯享网

该模块的功能符合笔者需求。

小讯
上一篇 2025-04-30 19:48
下一篇 2025-05-26 15:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/139064.html