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爬虫与数据分析 ...
随机推荐
- Python之带有外部状态的生成器函数
带有外部状态的生成器函数,也就是你的生成器暴露外部状态给用户解决: 定义一个类,然后把生成器函数放到 __iter__() 方法中过去 定义一个类,然后把生成器函数放到 __iter__() 方法中过 ...
- js中的对象类型的基本操作
示例 /** * 对象属于一种复合数据类型,在对象中可以保存多个不同数据类型的属性 * 对象的分类: * 1.内建对象 * - 由ES标准定义的对象,在任何ES的实现中都可以使用,比如:Math, * ...
- art-template补充
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- 初学Java 使用输入对话框
import javax.swing.JOptionPane; public class ComputeLoanUsingInputDialog { public static void main(S ...
- foreach与正常for循环效率对比
foreach foreach编译成字节码之后,使用的是迭代器实现的. foreach特点: 无须获取容器大小 需要创建额外的迭代器变量 遍历期间得到的是对象,没有索引位置信息,因此不能进行赋值操作. ...
- KMP,Trie,AC自动机题目集
字符串算法并不多,KMP,trie,AC自动机就是其中几个最经典的.字符串的题目灵活多变也有许多套路,需要多做题才能体会.这里收集了许多前辈的题目做个集合,方便自己回忆. KMP题目:https:// ...
- 从零开始之uboot、移植uboot2017.01(二、从入口分析流程)
原创: To_run_away 从零开始学linux 本节的开始之前,先看一下uboot的链接脚本. 一.链接脚本 /* * Copyright (c) 2004-2008 Texas Instrum ...
- 51nod 1831: 小C的游戏(Bash博弈 找规律)
题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...
- 实验1 C语言环境使用和数据类型 运算符 表达式
Part1 经过练习我发现自己经长会漏掉分号,有时输入法不同,打出来的括号前后不同,还有转义字符的使用,大小写转化之间的表达.还有打字速度比较慢. Part2 #include<stdio.h& ...
- UOJ 418 【集训队作业2018】三角形——思路+线段树合并
题目:http://uoj.ac/problem/418 看了题解才会…… 很好的想法是把整个过程看成若干 “取一点 i ,值+=w[ i ],值-=\(\sum w[j]\)”(其中 j 是 i 的 ...