subprocess 模块 与 re 模块
sub :子
process:进程
用法:
import subprocess
while True:
cmd_str = inport('请输入终端命令:')
obj = subprocrss.Popen(
cmd_str, shell = True,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
success = obj.stdout.read().decode('gbk')
if success:
print(success, '正确结果')
error = obj.stderr.read().decode('gbk')
if error:
print(error, '错误结果')
re 模块
用法:
"""
^ : 代表'开头'
$ : 代表'结束'
| : 代表'或'
{} : 需要获取的值,用于限定数量
[] : 分组限制取值范围
import re
while True:
phone_number = input('请输入手机号码:').strip()
if re.match('^(13|14|15|19)[0-9]{9}$', phone_number):
print('合法')
else:
print('不合法')
字符组:
-[0-9] 可以匹配到一个0-9的字符
-[9-0] 报错,必须从小到大
-[a-z] 从小写的a-z
-[A-Z] 从大写 A-Z
-[z-A] 错误,只能从小到大,根据ASCII 表来匹配大小
-[A-z] 从大写到A写到小写z 注意:顺序必须要按照ASCII码数值的顺序编写 import re
res = re.match('[A-Z a-z 0-9]{8}', 'Tank9527')
print(res)
print(res.group()) re模块中三种比较重要方法:
- findall(): ---> []
可以匹配所有的字符,拿到一个返回值,返回结果是一个列表 - search (): ---->obj ---> obj.group()
在匹配一个字符成功后,拿到结果后结束,不往后匹配 - match() ---> obj ---> obj.group()
从匹配字符的开头匹配,若开头不是想要的内容,则返回None import re
str = 'sean tank json'
res = re.findall('[z-a]{4}', str)
print(res) import re
str = 'sean tamk json'
res =re.search('[z-a]{4}', str)
print(res.group()) import re
str = 'sean tank json'
res = re.match('[z-a]{4}', str)
print(res.group())
"""
爬虫爬取信息:
爬虫四部原则:
1、发送请求 request
2、获取响应数据:对方机器直接返回的
3、解析并提取想要的数据: re
4、保存提取后的数据:with open()
爬虫三部曲:
1、发送请求
2、解析数据
3、保存数据
#1、发送请求
def get_page(url):
response = requests.get(url) return response
#2、解析数据
def parser_page(text):
#re.findall('正则表达式', '过滤的文本')
res_list = re.findall(
)
for movie_tuple in res_list:
#print(movie_tuple)
yield movie_tuple #3、保存数据
def save_date(res_list_)
with open('xx')
subprocess 模块 与 re 模块的更多相关文章
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
- python常用模块-调用系统命令模块(subprocess)
python常用模块-调用系统命令模块(subprocess) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. subproces基本上就是为了取代os.system和os.spaw ...
- python基础语法13 内置模块 subprocess,re模块,logging日志记录模块,防止导入模块时自动执行测试功能,包的理论
subprocess模块: - 可以通过python代码给操作系统终端发送命令, 并且可以返回结果. sub: 子 process: 进程 import subprocess while Tru ...
- [xml模块、hashlib模块、subprocess模块、os与sys模块、configparser模块]
[xml模块.hashlib模块.subprocess模块.os与sys模块.configparser模块] xml模块 XML:全称 可扩展标记语言,为了能够在不同的平台间继续数据的交换,使交换的数 ...
- PEP 324 subprocess 新的进程模块 -- Python官方文档译文 [原创]
PEP 324 -- subprocess 新的进程模块(subprocess - New process module) 英文原文:https://www.python.org/dev/peps/p ...
- random模块、os模块、序列化模块、sy模块s、subprocess模块
random随机数模块 random.random( ) 随机产生一个0-1之间的小数 print(random.random()) # 0.31595547439342897 random.rand ...
- python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time & datetime模块
正则表达式 语法: mport re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0 ...
- python全栈开发-hashlib模块(数据加密)、suprocess模块、xml模块
一.hashlib模块 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 ...
- Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块
Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fab ...
- Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块
专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...
随机推荐
- NGUI的Lebal需注意问题
1,为什么调节字体大小时,字体大小没变化,我们需要调节两个地方,如下图框柱显示 调节font size和size才可以同时控制字体的大小 2,label有时是不支持输入中文,但是支持复制进去,则这时我 ...
- BUUCTF--reverse2
测试文件:https://buuoj.cn/files/ef0881fc76e5bcd756b554874ef99bec/e8722e94-93d7-45d5-aa06-a7aa26ce01a1.ra ...
- JavaScript 数组sort方法使用
直接上例子 1.无参调用返回按unicode字符编码排序 var arr = [1,2,0,21,15,6,34,9,45]; var arrSort = arr.sort(); console.lo ...
- centos7安装rabbitmq简单方式
1,安装rabbitmq前要准备的基础环境 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make ...
- ssh-agent - 认证代理
总览 (SYNOPSIS) ssh-agent [-a bind_address ] [-c | -s ] [-t life ] [-d ] [command [args ... ] ] ssh-ag ...
- 【python实例】判断是否是回文数
""" 输入一个数,判断一个这个数是否是回文数.例如:121,这个数反过来还是121,所以这个是回文数: 再如:134,这个数反过来是431,所以这不是一个回文数: 12 ...
- asp.net core web api 版本控控制
通过微软的一个库Microsoft.AspNetCore.Mvc.Versioning实现asp.net core web api的版本控制. 以两种形式组织了Controller: 文件夹分开 命名 ...
- ps示例
博客PS示例 一显示指定真正用户名(RUID)或用户ID的进程 打开另外一个终端 [root@centos72 ~]# id wang uid=1000(wang) gid=1000(wang) gr ...
- SPOJ 7258 (后缀自动机)
转载:http://hzwer.com/4492.html 给一个长度不超过90000的串S,每次询问它的所有不同子串中,字典序第K小的,询问不超过500个. 搞出后缀自动机 dp处理出每个点往下走能 ...
- zoj3229 Shoot the Bullet (有源汇最大流)
题目大意:文文要给幻想乡的女♂孩子们拍照,一共n天,m个女♂孩子,每天文文至多拍D[i]张照片,每个女♂孩子总共要被文文至少拍G[i]次.在第i天,文文可以拍c[i]个女♂孩子,c[i]个女♂孩子中每 ...