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爬虫与数据分析 ...
随机推荐
- 设置第一个以外的元素样式:not(:first-child),设置最后一个除外的元素样式:not(:last-child)
代码截图:
- regex - POSIX 1003.2 正则表达式
DESCRIPTION 正则表达式 (``RE''s), 在 POSIX 1003.2 中定义,包含两种类型:新式 REs (基本上指的是 egrep 使用的那些,1003.2 称其为 ``exten ...
- Linux学习之旅(二)Linux文档操作
目录操作 1. 创建目录 // 目录可以是绝对路径,也可以是相对路径 mkdir 目录名 //创建一个目录 mkdir -p 目录名1/目录名1/... //一次性创建多级目录 2. 删除目录 // ...
- JavaScript实例之计算器
代码实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- 数据库与缓存:2.Redis数据库的基本知识
1.属于什么类型的数据库 not only sql 非关系型数据库,与传统的关系型数据库不同,存储形式都是kv形式. 2.特点 几乎不支持事务,key-value形式存储,支持队列和缓存(可以设置数 ...
- vagrant up ----失败 问题解决
命令行启动提示信息 there was an error while executing `vboxmanage`, a cli used by vagrant for controlling vir ...
- linux学习-用户组与权限管理
一.用户与组 1.用户 管理员:root,UID为0 普通用户:1-60000 自动分配 系统用户:1-499,1-999(Centos7),对守护进程分配获取资源进行权限分配 登录用户:500+,1 ...
- python环境变量
下载并升级更新pip python -m pip install -U pip 变量名:PY_HOME 变量值:python路径 path:win10加在最后(记得用;号隔开):win7加在前面记 ...
- LDD3 第11章 内核的数据类型
考虑到可移植性的问题,现代版本的Linux内核的可移植性是非常好的. 在把x86上的代码移植到新的体系架构上时,内核开发人员遇到的若干问题都和不正确的数据类型有关.坚持使用严格的数据类型,并且使用-W ...
- 4412 最简Linux驱动
最简Linux驱动 必备的头文件 • Linux头文件位置– 类似#include <linux/module.h>的头文件,它们是在Linux源码目录下的include/linux/mo ...