python
WangF0
喜欢python的简洁
展开
-
python 多进程实现文件下载传输
需求: 实现文件夹拷贝功能(包括文件内的文件),并打印拷贝进度模块: 利用 os模块 multiprocessing 模块import multiprocessingimport osdef deal_file(old_dir,new_dir,file_name,queue): # 打开以存在文件 old_file = open(os.path.join(old_dir,f原创 2017-11-15 23:17:47 · 3718 阅读 · 0 评论 -
python logging日志模块的应用
import logging# 创建日志对象log = logging.getLogger()# 设置总日志等级log.setLevel(logging.DEBUG)a = "./log.txt"# 创建文件件处理器日志对象file_handler = logging.FileHandler(a, mode="a")# 设置子日志等级file_handler.setLevel(log原创 2017-12-08 21:36:02 · 243 阅读 · 0 评论 -
python利用面向对象,协程开发web后端服务器
web后端入门级别! 开发语言: python3 模块: gevent os re socket编辑器: 博主用的 vim简介: 我们这里是利用了python最基础的知识来实现得网站后端,所以比较容易理解,代码里的”static”是博主本地的文件夹,文件夹内存放了一些html文件和图片,都可以通过ip+文件名来进行访问.# 导入gevent的monkey模块,破解具有阻塞原创 2017-11-21 16:40:27 · 2132 阅读 · 0 评论 -
pyhton3正则表达式应用(面试题)
请完成一个程序,并能按步骤实现以下功能: 1. 下载https://en.wikipedia.org/wiki/Machine_translation 页面的 内容并保存为mt.html 需要编写代码来下载页面。 2. 统计mt.html中标签内下所有单词以及数目并存储到mt_word.txt中。 mt_word.txt有如下几点要求:原创 2017-11-18 21:02:24 · 407 阅读 · 0 评论 -
python协程的多种实现方式
协程简介: 协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。 一个程序可以包含多个协程,可以对比与一个进程包含多个线程,因而下面我们来比较协程和线程。我们知道多个线程相对独立,有自己的上下文,切换受系统控制;而协程也相对独立,有自己的上下文,但是其切换由自己控制,由当前协程切换到其他协程由当前协程来控制。 (以上摘自百度百科) 简单的来原创 2017-11-16 17:02:11 · 1939 阅读 · 0 评论 -
python爬虫入门篇------爬取网页源代码
需求: 爬取用户输入网站的源代码,并导入到本地文件中. 实现思路: 利用python的urllib模块,打开网址读取源代码,然后在本地创建文件,将读取的代码写入.import urllib.requestdef grab(url): # 打开传入的网址 resp = urllib.request.urlopen(url) # 读取网页源码内容 data = r原创 2017-11-16 19:51:02 · 32747 阅读 · 0 评论 -
简易爬虫爬取51job招聘信息
目标: http://www.51job.com/上的python相关招聘信息——>入门级别import reimport urllib.requestclass Grab(object): # 定义类属性 num = 0 def __init__(self): # 请求的网址 self.url = "http://search.51job原创 2017-11-22 22:31:04 · 2278 阅读 · 2 评论 -
python的冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。python中实现冒泡排序相比较其他语言来讲要简单的多,因为他可以使用快速的拆包组包来实原创 2017-11-23 20:46:34 · 1769 阅读 · 0 评论 -
python epoll简单模型(协程的实现方式)
EPOLLIN (可读) EPOLLOUT (可写) EPOLLET (ET模式) epoll对文件描述符的操作有两种模式:LT(level trigger)和ET(edge trigger)。LT模式是默认模式, LT模式与ET模式的区别如下: LT模式:当epoll检测到描述符事件发⽣并将此事件通知应⽤程序,应⽤程序可以不⽴即处理该事件。下次调⽤e poll时,会再次响应应⽤程序并通原创 2017-11-26 22:26:44 · 1168 阅读 · 0 评论 -
常用正则表达式
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)[^>]>.?|< .*? /> 评注原创 2017-12-24 15:21:11 · 320 阅读 · 0 评论 -
python装饰器原理
装饰器作用 装饰器在实际开发中应用广发,如: 1.引入日志 2.函数执行时间统计 3.执行函数前预备处理 4.执行函数后清理功能 5.权限校验等场景 6.缓存装饰器可以实现在不修改之前已经写好并且封装好的代码的前提下对之前的代码进行功能上的拓展!在实际开发中应用十分广泛,用好了装饰器,开发效率如虎添翼,所以这也是Python面试中必问的问题,但对于好多初次接触这个知识的人来讲,这个功能原创 2017-12-07 23:16:01 · 574 阅读 · 0 评论 -
python生成网页验证码
验证码为 pil模块生成,可直接应用于django框架当中。首先需要安装 Pillow模块 我们这里使用的版本为3.4.1 终端中直接输入指令 pip install Pillow==3.4.1from PIL import Image, ImageDraw, ImageFontfrom django.utils.six import BytesIOdef verify_code(原创 2018-01-06 07:43:49 · 661 阅读 · 0 评论 -
linux下搭建flask开发环境
安装虚拟环境$ sudo pip install virtualenv$ sudo pip install virtualenvwrapper创建虚拟环境(须在联网状态下)$ mkvirtualenv Flask_py安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量:1、创建目录用来存放虚拟环境mkdir $HOME/.vir...原创 2018-01-28 16:49:19 · 3235 阅读 · 0 评论 -
使用tornado实现简单爬虫
代码在官方文档的示例代码中有,但是作为一个tornado新手来说阅读起来还是有点困难的,于是我在代码中添加了注释,方便理解,代码如下:# coding=utf-8 #!/usr/bin/env pythonimport timefrom datetime import timedeltatry: from HTMLParser import HTMLParser f...翻译 2018-04-11 17:47:53 · 1688 阅读 · 0 评论 -
利用python3模拟访问网站
功能: 利用python代码来获取我们访问百度后百度返回给我们的信息,将返回的内容写入到文件中. 需求: 使用socket模块代码如下:import socketdef main(): # 创建套接字 tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 连接baidu tcp_socke原创 2017-11-19 20:17:56 · 2863 阅读 · 0 评论 -
利用python基础编写简单的日历
首先要理清楚逻辑,日历的难点在于如何使用基础知识将周几与对应的日期进行对应,我这里利用了1917年1月1日为星期1,计算累计到我们要查询的月份的天数来确定所查询月份的第一天为周几.# 输出日历界面print("*" * 50)print("欢迎使用【天天日历】v2.0")# 接收用户输入的年份year_int = int(input("请输入年份:\n"))# 定义全局变量用于记录天数总和s原创 2017-10-29 23:41:48 · 5471 阅读 · 1 评论 -
利用python来解决 小鸡,公鸡,母鸡的数学问题
用whlie循环来解决 数学问题小鸡1元3只,公鸡3元1只,母鸡5元1只,如何用100元购买100只小鸡原创 2017-11-01 21:34:45 · 4587 阅读 · 0 评论 -
python编写简易聊天室实现局域网内聊天
功能: 可以向局域网内开启接收信息功能的ip进行发送信息,我们可以写两段端口不同的代码来实现在一台电脑上与自己聊天.关键点: 要想实现此功能必须将程序的端口固定原创 2017-11-11 23:00:28 · 6473 阅读 · 2 评论 -
python用tcp实现局域网内文件传输(文本,图片,视频)
功能: 可以利用python创建的TCP客户端从我们自己搭建的TCP服务器上下载文件. 实现需求: 安装socket模块 简单了解sokcet模块用法原创 2017-11-12 23:08:42 · 13514 阅读 · 6 评论 -
python多线程的两种实现方式
概念: 线程是轻量级的进程,进程中可划分出多个线程,线程可独立的调度运行(进程中分割出来的可以独立运行的实例) 例如:我们的电脑cpu可以同时运行qq和微信,qq运行时可以同时打开多个聊天框. 在上述例子中qq 微信及进程,每个聊天框为不同的线程原创 2017-11-17 21:32:59 · 1237 阅读 · 0 评论 -
python udp的应用 ,多线程实现聊天功能
之前我们一起实现过单线程的udp聊天功能,但是并不实用,这里我们用多线程重新写下 代码如下:原创 2017-11-13 23:38:26 · 2342 阅读 · 1 评论 -
python单例设计模式简述
单例设计模式的应用非常广泛,主要作用是创建新的对象来覆盖之前所创建的对象. 例如:音乐播放器,购物平台购物车 等等. 音乐播放器在你打开第一首歌曲的时候会进行正常播放,而当你再次点击其他歌曲时会把之前的歌曲关闭掉,播放新点击的歌曲.原创 2017-11-04 19:18:37 · 382 阅读 · 1 评论 -
python3 利用tcp实现文件夹的远程传输
实现功能: 通过tcp协议模拟文件夹的下载,注意是文件夹,不是文件.下面让我们实现以下: 其中有部分功能还未实现有兴趣的可以将代码自行补全 服务器端代码:import osimport socketimport time# 定义全局列表用来存储子文件夹list1 = []def deal_file(files,dir_name,dir_socket): # 如果打开文件时报错原创 2017-11-18 22:32:46 · 4451 阅读 · 0 评论 -
vim 安装自动补全python代码功能
vim下的补全: 要求vim在7.4版本及以上,利用pydiction插件原创 2017-11-14 15:08:24 · 3087 阅读 · 4 评论 -
python列表推导式的应用,基础面试题
应用场景: 给定两个list ,A = [1,2,3,4,5,6,7,1,2,3]和B=[4,5,6,7,8,9,10,9,8,11],请用python找出A,B 中相同的元素放入列表D中,找出A,B中不同的元素放入列表C中,确保C、D两个列表中的元素不重复(用代码实现): 题目分析: 拿到题目后 我们首先得思路可能是 利用循环来进行比较,当然这样也可以写出此功能,但是当我们学会使用列原创 2017-11-05 22:26:25 · 406 阅读 · 0 评论 -
python爬虫实现multipart/form-data;表单提交
fields 参数 接收值: [(key,value),(k,v)] 此参数接收普通键值对数据,将键值对转换为multipart/form-data格式files 接收值: [(key,filename,value) 此参数接收文件上传数据,将其对转换为multipart/form-data格式 def encode_multipart_formdata(f...原创 2018-04-18 15:39:48 · 3503 阅读 · 0 评论