在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
argv和raw_input()有什么区别?它们的区别在于要求用户输入的位置不同。如果你想让用户在命令行输入你的参数,你应该使用argv .,如果你希望用户在脚本执行的过程中输入参数,那就就要用到raw_input() 。下面我们写一个可以接收参数的脚本,来具体认识一下argv和raw_input()。

from sys import argv
script, first, second, third = argv
print "The script is called:", script
print "Your first variable is:", first
print "Your second variable is:", second
print "Your third variable is:", third
第一行代码中,我们用到一个 import 语句,这是将Python的功能模块加入你自己脚本的方法。Python 不会一下子将它所有的功能提供给你,而是让你需要什么就调用什么。这样可以让你的程序更加精简,而后面的程序员看到你的代码的时候,这些“import”语句可以作为提示,让他们明白你的代码用到了哪些功能。
argv 就是所谓的“参数变量”,它是一个非常标准的编程术语。在其他的编程语言里你也可以看到它。这个变量包含了你传递给 Python 的参数。
代码的第3行将 argv 进行“解包(unpack)”,与其将所有参数放到同一个变量下面,我们将每个参数赋予一个变量名: script, first, second, 以及 third。这也许看上去有些奇怪,不过”解包”可能是最好的描述方式了。它的含义很简单:“把argv中的东西解包,将所有的参数依次赋予左边的变量名”。
前面使用import让程序实现更多的功能,我们把import称为功能,它们的真正名称其实是模块。像下面的示例一样将你的脚本运行起来:
$ python ex13.py first 2nd 3rd
The script is called: ex13.py
Your first variable is: first
Your second variable is: 2nd
Your third variable is: 3rd
如果你每次输入的参数不一样,那你看到的输出结果也会略有不同:
$ python ex13.py stuff things that
The script is called: ex13.py
Your first variable is: stuff
Your second variable is: things
Your third variable is: that
$$
python ex13.py apple orange grapefruit
The script is called: ex13.py
Your first variable is: apple
Your second variable is: orange
Your third variable is: grapefruit
你可以将 first , 2nd , 和 3rd 替换成任意你喜欢的3个参数。如果你没有运行对,你可能会看到的错误信息:
$ python ex13.py first 2nd
Traceback (most recent call last):
File "ex13.py", line 3, in <module>
script, first, second, third = argv
ValueError: need more than 3 values to unpack
argv和raw_input()的区别就讲到这里了,大家都弄明白了吗?如果还有关于Python方面的学习疑问,欢迎大家来博学谷官网报名Python在线课程~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
怎么学python入门?python新手学习路线
Python入门应该了解一些基本的计算机编程术语。Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
7995
2019-06-11 15:41:03
Python学习总结之汉诺塔问题
在学习Python的时候,大家难免会遇到汉诺塔问题,这是在学习其他编程语言也绕不过去的经典问题之一。本文就带大家了解什么是汉诺塔问题,并为大家解决Python中的此类问题。感兴趣的小伙伴就赶紧看下去吧!
8446
2019-08-19 14:33:20
Python工程师培训要多久?
Python作为目前备受初学者青睐的编程语言,学习的难度与其他语言相比,还是比较容易入门的。当然,一些零基础的初学者想要一两个月就能速成Python,还是不太可能的。尤其是想在学完之后应聘相关岗位,就算是最快的学习方式参加培训也不可能那么快就能学完就业。那么可能有人会问了,Python工程师培训要多久呢?
5810
2020-03-11 23:55:50
Python小学生课程学哪些内容?
Python小学生课程学习主要是以入门为主,工业界学习Python,现在中学生已经开始学习Python且是必修课,入学的高中生需要学习Python语言。简单易学的编程语言Python进入小学教材,更会纳入高考内容体系。
8551
2020-08-07 14:29:38
返回指定页面数据静态Web服务器代码怎么写?
返回指定页面数据静态Web服务器代码:获取用户请求资源的路径,根据请求资源的路径,读取指定文件的数据组装指定文件数据的响应报文,发送给浏览器,判断请求的文件在服务端不存在,组装404状态的响应报文发送给浏览器。
4928
2021-12-23 14:22:52
