Python: [Errno 32] Broken pipe异常分析

今天在写远程下载循环遍历远程目录和下载的时候碰到了报错 [Errno 32] Broken pipeErrno32]Brokenpipe异常属于IOError,因此此问题和IO操作有关,然后检查相关的业务逻辑,除了一个巨长的远程遍历目录,其他的基本应该没有什么大的问题,初步觉得是这个问题导致,后面将代理做了下微调,解决。因为每天都要下载当前的文件,文件有历史存档,每次循环整个目录的文件列表是非常消耗资源的,但是想到文件名是有规律的,所以就判断下是不是当前文件,文件名基本是这样的20190415xxx.log所...

阅读全文

Python使用递归时栈溢出的解决方案

最近没事测试谢了个拉取FTP文件的脚本,其中一段是要检测FTP文件的中间状态,所谓中间状态就是FTP的文件正在上传,并还没有传完的这个时段的状态,我写了一个简单脚本测试def check_filesize(filename):    file_size = ftp_operation.RemoteFileSize(config['remote_dir'], filename)    time.sleep(1)...

阅读全文

python3将网页转换为PDF或者图片的方式

python3将网站转换为PDF需要用到pdfkit模块,这个模块需要我们进行安装pip install pdfkit然后我们百度下得到一段生成PDF的代码,我测试的是把我博客首页生成PDF#!/usr/bin/python3#coding:utf-8import requestsimport pdfkitresponse = requests.get("http://sulao.cn/")htmls = response.cont...

阅读全文

Python3使用FTP模块上传下载文件

一直都觉得FTP现在用的少了,所以就一直没有做过这类的笔记,记得只是很早之前用PHP操作FTP的记录,这次写了下顺便记录下来了,方便以后直接使用,主要代码如下:#!/usr/bin/python3#coding:utf-8from ftplib import FTPimport osimport logginglogging.basicConfig(filename='app.log',level=logging.INFO,format='%(asctime)s...

阅读全文

python使用pyquery解析html网页

喜欢用jq写前端的python开发工程师建议使用这个html解析库,因为这个工具使用起来基本就和jquery是一样的,所以可以可以直接上手开始进行开发我也经常用jquery,所以这里直接列下基础用法,看下就明白了#!/usr/bin/python3#coding:utf-8from pyquery import PyQueryimport requestshtml = requests.get("http://sulao.cn/post/641.html"...

阅读全文

python解析html工具Beautiful Soup用法

昨天学习了下解析html结构的新工具requests-html,今天把以前使用的相关解析html的模块工具进行梳理记录下BeautifulSoup是python的一个库,最主要的功能是从网页抓取数据。 BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。如...

阅读全文

python3新的html解析工具requests-html用法简单介绍

使用Python开发的同学一定听说过Requsts库,它是一个用于发送HTTP请求的测试。如比我们用Python做基于HTTP协议的接口测试,那么一定会首选Requsts,因为它即简单又强大。现在作者KennethReitz又开发了requests-html用于做爬虫。我们直接使用pip进行安装即可pip install requests-html然后直接可以开始学习了from requests_html import HTMLsessionsession = HTMLses...

阅读全文

Flask中主动抛出异常,统一异常处理

在开发时,后台出现异常,但不想把异常显示给用户或者要统一处理异常时,可以使用abort主动抛出异常,再捕获异常返回美化后的页面。主动抛出异常:@user.route('/testError')def testError():    print ('testError')    abort(404)使用装饰器errorhandler捕获异常:@user.errorhandler(404)def er...

阅读全文

Python3之shutil模块

shutil是高级的文件,文件夹,压缩包处理模块,我们来看看有哪些使用方法1.拷贝文件内容到另外一个文件shutil.copyfileobj(fsrc,fdst[,length])import shutilshutil.copyfileobj(open('test.txt', 'r', encoding='utf-8'), open('test.log', 'w', encoding="utf-8...

阅读全文