
Python
文章平均质量分 74
shu_8708
熟悉51系列与ARM系列单片机的开发,能熟练使用.NET框架设置窗口程序,使用Python进行算法设计
展开
-
Python网络编程之带select的异步IO
与之前的socket方式不同,select通过轮流询问的方式监听(读取)客户端select也存在阻塞,会等待到三个描述符至少一个准备就绪.select函数参数为三个列表 分别为 r_list,w_list,e_list分别代表输入,输出,异常列表返回参数也是这三个列表实现方式如下import selectimport sockets=socket.socket()host=原创 2017-06-28 19:17:08 · 770 阅读 · 0 评论 -
Django+uwigs+Nginx部署以及遇到的问题
关于什么是uwigs和Nginx,为什么要部署uwigs和Nginx我会写在下一篇中,这里只关心怎么将Django项目部署到uwigs和Nginx上。1.Django中静态文件(CSS,JS,IMG等)的管理。一般做法是将所有的静态文件拷贝到一个文件中,在客户端访问.*/static/地址时到这个文件夹中去寻找所需要的静态文件。 首先打开Django项目中的setting.py文件添...原创 2018-01-11 11:14:26 · 1331 阅读 · 0 评论 -
Python验证码生成
from PIL import Image,ImageDraw,ImageFont,ImageFilterimport randomclass checkcode: def __init__(self,**kwargs): self._width=kwargs['width'] self._height=kwargs['height']原创 2018-01-04 20:46:16 · 1452 阅读 · 0 评论 -
浅谈uWSGI和Nginx
前一篇说到了部署Django+uWIGS+Nginx环境,为什么要部署uWSGI和Nginx,以及uWSGI和Nginx是什么进行一番学习,在这里总结一下。1.WIGS(Web Server Gateway Interface)服务器网关接口是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。 WSGI 没有官方的实现, 因为WSGI更像原创 2018-01-15 20:45:33 · 16945 阅读 · 5 评论 -
Python3.x调用阿里云短信api
最近制作注册系统需要进行一个短信验证的功能,决定使用阿里云通信的短信服务,可是坑爹的问题就来了,阿里提供的SDK不支持Python3.x,遂只能通过其HTTP协议方式拼接url 官方文档因为涉及到url编码问题,博主之前全是encode('utf-8')之后再转string再处理replace('\\x','%')真是太幸酸,后面知道可以使用urllib中的request包的quote函数方方原创 2018-01-24 14:17:42 · 1846 阅读 · 0 评论 -
Python多进程multiprocessing
说到多进程首先想到的就是多进程间的通信方式:管道(PIPE)信号(Signal)消息队列(Message Queue)共享内存(Shared Memory)信号量(Semaphore)套接字(Socket)然后就是C++多进程的实现:fork()函数,fork()很特殊有两个返回值,一个是子进程,另一个0或者子进程ID,python的os包中也带有fork函数也是类似的用法,原创 2018-01-16 17:11:09 · 363 阅读 · 0 评论 -
Python搭建FTP服务器
Python版本 3.6.2使用的ftp包:pyftpdlib pip install pyftpdlib就可以下载安装了FTP协议下载上传文件在文件过大的情况下会比HTTP更具有优势,更为方便的实现断点上传和进度监控,下面是官方文档中的基本方法import osfrom pyftpdlib.authorizers import DummyAuthorizerfrom原创 2018-01-08 11:09:56 · 6365 阅读 · 2 评论 -
Python异常总结
在Python或者C#开发中对于异常一般采用try—except,try—catch来捕获异常,然后发现对于异常类型不熟悉,和不自定义异常越来越不方便所以重新翻看基础后坐下记录。1.raise语句用于触发异常,通常碰到就头疼,类似于Throw。 注意最后一行,只表明了错误类型是异常的基类型并没有相关的错误信息,一般都会附加信息,一般后期的查错和修复,所以可以增加:raise原创 2018-01-17 15:33:06 · 1018 阅读 · 0 评论 -
Python基于FTP的小型传输服务器
前言因为想要做一个能够满足多用户同时上传/下载文件的功能,并且带有权限功能,网上查了一些资料,尝试了用HTTP协议传输文件,用socket异步IO,多进程传输等方案,从中也学到了很多的东西,这里所述就是使用selectors 和socket模拟FTP协议实现文件的传输,最多可以同时满足10个传输链接。 1.HTTP传输因为用Django,Flask,Tornado等web框架原创 2018-02-01 20:19:05 · 1643 阅读 · 0 评论 -
Django后台的微信公众号入门
这里介绍微信公众号后台的简单搭架Step 1. 注册或登录微信公众号平台微信公众号平台官网登录或者注册Step 2.选择使用公众号这一步就按照网页提示,选择微信公众号,输入相关信息完成后可以进入如下界面:Step 3.设定相关参数绑定服务器 点击基本配置进入下图界面。 点击下方服务器配置。Url就是你的服务器的地址,微信会把用户的交互信息用GET...原创 2018-03-19 10:13:45 · 2087 阅读 · 0 评论 -
Python由数据结构树引发的思考(可变对象/不可变对象,深拷贝/浅拷贝)
数据类型二叉树之前就有写过,我曾一直认为,因为Python没有指针操作,所有实现起来会有麻烦,应该会用数组插入数组的方法进行实现。然后进行了尝试:class Node: date=None left=None right=Noneclass Tree: def __init__(self): self.Root=Node() ...原创 2018-04-15 08:59:07 · 357 阅读 · 0 评论 -
使用Scrapy爬取电影链接
之前使用过requests爬取电影天堂,BT天堂,爱下电影这三个网站的电影下载链接,自己手写爬虫其实比较复杂,所以这里使用scrapy框架来执行该操作Step 1 创建scrapy项目有很多种方法执行该操作,这里用cmd建立工程以及模板。在命令提示行中输入下列指令此时在该目录中就生成了一个scrapy项目,这里我的项目就存放在f盘根目录下然后创建爬虫模板,这里因为只需要原创 2017-09-15 10:14:38 · 2171 阅读 · 0 评论 -
Scrapy爬取淘宝网数据的尝试
因为想学习数据库,想要获取较大量的数据,第一个想到的自然就是淘宝。。。。其中有大量的商品信息,淘宝网反爬措施还是比较多,特别是详情页面还有恶心的动态内容该例子中使用Scrapy框架中的基础爬虫(CrawlSpider还有点没搞清楚= = b)先贴上整体代码import scrapyimport reimport csvimport pymongofrom tmail.i原创 2017-08-18 15:26:06 · 13849 阅读 · 1 评论 -
Python中列表的使用总结
1.分片 ex=[1,2,3,4,5,6] ex[0:2]=[1,2] ex[2,-1]=[3,4,5] 负数表示倒数第几位 ex[0:-1:2]=[1,3,5] 第三位是步进 ex[0:]=[1,2,3,4,5,6]第二位不输入就表示到最后一位 ex[:-1]=[1,2,3,4,5]第一位不原创 2017-06-20 09:56:24 · 1165 阅读 · 0 评论 -
利用Python解决将黄金比例计算至100位
这个问题有两个解决思路:一种是利用斐波拉契数列 相邻两个斐波拉契数列的比值就是黄金比例值 数字越靠后精确度越高 测试中到240位便可以将黄金比例计算精确到100位 if x is 1: return (a,b) else: temp=a; a+=b b=temp return fibs(x-1原创 2017-06-20 10:08:48 · 4698 阅读 · 0 评论 -
Python的网络编程基础
1.socket模块在网络编程中最基本的组件就是套接字(socket)套接字包括:服务套接字,客户机套接字服务器套接字创建后就监听是否有客户机套接字进行连接客户机只需要给出相关协议参数并对服务器进行连接即可服务器的简单的实现:import sockets=socket.socket()host=socket.gethostname()port=1234s.b转载 2017-06-27 19:46:59 · 639 阅读 · 0 评论 -
python网络爬虫基础(利用HTMLParser)
该程序爬虫对象是今日神段里的热门文章,利用HTMLParser和正则表达式from html.parser import *import urllib.requestimport reclass Scraper(HTMLParser): def handle_starttag(self,tag,attrs): if tag=='a': at原创 2017-07-04 11:16:30 · 1636 阅读 · 0 评论 -
Python正则表达式
1.通配符(.)匹配除换行符外所有的字符2.特殊字符的转义\例如:".com"此时会匹配acom,bcom.....此时应该表达为:"\.com"(双斜线和单斜线 通过解释器通过re模块需要双斜线)3.字符集^为反字符'[^abc]'即匹配不含abc的字符[a-zA-Z0-9]即能匹配a-z A-Z 0-9范围内的字符4.选择符和子模式管道符号|: 可转载 2017-06-27 09:53:54 · 311 阅读 · 0 评论 -
Python爬虫获取电影链接(续)
上一篇文章中的两个网站都是用的是get方法,获取很简单并且没有任何防爬手段,后面我再尝试BT天堂,影视大全网发现更多的网站搜索页面是post请求并需要提交表单,所以这里给之前的程序作出一些补充,使之可以爬虫需要post请求的网站。首先提出一个使用fiddler的小技巧,断点查询,在这里点击Rules在其下拉列表中选择Automatic breakpoint之后选择After R原创 2017-07-21 09:33:35 · 3690 阅读 · 0 评论 -
MongoDB的安装与使用(Win7 64位)
第一步当然是进入MongoDB下载对应自己系统的安装包 MongoDB官方之后进行安装,注意需要自定义安装路径请选择costom否则默认安装到C盘Program Files文件夹中在安装MongDB的磁盘根目录下创建一个文件夹作为数据存放记忆日志存放的路径。在该文件夹中再创建两个文件夹,一个存放数据,一个存放日志我在使用时根目录文件名为Data子目录两个文件夹为db和dbconf转载 2017-07-21 10:05:13 · 548 阅读 · 0 评论 -
Scrapy的安装附带相关问题处理
Scrapy框架在制作网络爬虫中非常好用,这里介绍一下其安装过程以及相关问题Scrapy官网 http:/scrapy.org Scrapy官网下载whl文件,注意对应自己的系统以及python版本说明一下 将whl文件解压后是可以在python中直接调用,但是使用不方便,且可能存在隐藏问题所以这里还是推荐使用pip包管理器提一下pip包管理器的问题,如果在控制台输入pip提示不是原创 2017-07-21 11:00:20 · 305 阅读 · 0 评论 -
MongoDB的基本操作与在Python中的使用
按照之前的方法安装成功后打开安装目录下的mongo.exe 界面如下1.创建数据库输入use 数据库名需要插入数据新的数据库才会被记录2.删除数据库转到要删除的数据库,再条用dropDatabase()3.插入文档转入数据库,db.集合名.insert({}) 如果数据库中不包含此集合会自动创建此集合查询使用 db.集转载 2017-07-21 14:07:56 · 411 阅读 · 0 评论 -
python爬虫登录正方教务管理系统获取成绩数据
本程序以四川理工学院教务管理系统为例。。。。准备工作:1.ruquests库的使用(或者urllib也可行) 2.正则表达式的书写 3.HTTP通信基础 4.一些解析库的使用准备一个浏览器监视工具,这里我是用的是fiddler下载地址点击打开链接登录官网获取到登录系统url:h原创 2017-07-06 21:28:27 · 10060 阅读 · 10 评论 -
Python多线程爬虫获取电影下载链接
一些电影资源网站往往广告太多,不想看广告所以做了这个程序首先需要先分析网站的搜索链接,这里只用到了“爱下电影网”和“电影天堂”两个网站爱下电影:http://www.aixia.cc/plus/search.php?searchtype=titlekeyword&q=%E9%80%9F%E5%BA%A6%E4%B8%8E%E6%BF%80%E6%83%85电影天堂:http://s.d原创 2017-07-14 18:53:57 · 3672 阅读 · 1 评论 -
写给自己及一月整体规划
写给自己从去年六月份开始,因为考研,就没有再写博客了,这段时间也没怎么碰代码。很多东西都遗忘了,我本身并非计算机专业,但因为在学校实验室学习了两年mcu编程,因此投入了这个行业中。在备考过程中也确实发现了许多基础上的问题,并且发现了一些之前博客中的错误,现在,我想要做的就是找回状态,所以在此制定出一份一月计划。首先从装机开始重走一遍python基础的路并在博客中记录下来。step1 重写完善...原创 2019-01-05 09:18:46 · 476 阅读 · 1 评论