sys.argv[]
该如何使用?
Crossin:
sys.argv
是用来获取命令行参数的,sys.argv[0]
表示代码本身文件路径,所以参数从1开始。
举例: 在脚本文件 file.py 中我们写下如下代码
import sys
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
然后我们在命令行运行:
>>> python file.py parameter1 parameter2
file.py
parameter1
parameter2
体会一下输出:sys.argv 从命令行获取输入的参数,第一个为文件名,之后依次为输入的数据。
王仙客:
>>> import re
>>> patt = re.compile('\w{3}\.([a-zA-Z]+\.)+com')
>>> re.findall(patt,'www.baidu.com')
['baidu.']
这个输出为什么不是 www.baidu.com 啊,为什么匹配结果只有圆括号里的呢?
Crossin:
这里需要明确在 正则表达式 中的一个概念:圆括号指定分组
举个例子,要匹配一组带有区号的的电话号码比如 021-12345678
我们可以写这样的表达式 \d{3}-\d{8}
,现在我们希望从一组有效的号码中仅匹配区号,这时就可以使用圆括号指定分组,编译表达式 (\d{3})-\d{8}
就可从一组有效的号码中仅取出区号部分。
>>> import re
>>> patt1 = re.compile('\d{3}-\d{8}')
>>> patt2 = re.compile('(\d{3})-\d{8}')
>>> phone_num = '021-12345678 132 344 54645754'
>>> re.findall(patt1,phone_num)
['021-12345678']
>>> re.findall(patt2,phone_num)
['021']
所以使用 \w{3}.([a-zA-Z]+.)+com
对 www.baidu.com 进行匹配,最后得到的结果只会包含括号部分即 [‘baidu.’]
。
ManutdGTA: 老师您好,看了你的公众号两周了。最近边工作边抽空学python,想转行做后端开发。我大致看了下职位要求,要会python,linux,http协议,mysql,数据结构,算法,django,感觉自学难度好大,真的像您说的最起码要1~2年。你指的项目开发经验就是指上述我列举的这些吗?
Crossin:
是的,举个例子,你自己开发一个模仿知乎的网站,用django,数据库用mysql,运行在Linux上,最好在放在云服务上,你上面说的这一整套就会都涉及了。拿这个项目去面试,必然比你空口说学过哪些有说服力。 之后我们也会考虑做类似这种的课程,把这样一个站做下来。
但终究还是离不开花时间练习,欲速则不达。
本文分享自 Crossin的编程教室 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有