Python
文章平均质量分 72
丶Xylon
这个作者很懒,什么都没留下…
展开
-
Python中的垃圾回收机制及原理
不同于C/C++,像Python这样的语言是不需要程序员写代码来管理内存的,它的GC(Garbage Collection)机制 实现了自动内存管理。GC做的事情就是解放程序员的双手,找出内存中不用的资源并释放这块内存。 下面我们来看看Python的GC是怎么做的:Python自带的解释器CPython主要使用了三种垃圾回收机制(引用计数为主,标记-清除和分代回收为辅):引用计数 标记清除 分代回收下面让我们分别了解下这几种机制:1.引用计数引用计数法Reference Countin转载 2020-11-05 22:40:35 · 529 阅读 · 0 评论 -
Python自动化 | 利用python-docx 实现word操作
一、安装python-docx模块pip install python-docx二、读取word文件1.word文档结构Document: 文档Paragraph:段落Run:文字块2.提取文字2.1提取段落实例,段数:.paragraphs 获取一个列表,包含每个段落的实例from docx import Documentdoc = Document("0.docx")print(doc.paragraphs)print(len(doc.paragra转载 2020-09-26 17:14:30 · 2246 阅读 · 0 评论 -
Python自动化 | Excel文件合并处理工具
Github项目地址:https://github.com/xylon666/AExcel软件下载地址:https://pan.baidu.com/s/1mRgWHXYNGOiLowQSRHKtHw 提取码: zcq7软件功能:将同目录下的所有同类型(首行列名相同)的Excel文件合并到一个Excel表格中,可选择全部合并或合并部分列使用方法:将软件与待处理文件放在同一个文件夹下,运行即可。直接点击开始则全部合并,输入列名则只合并每个表中的相同列,列名之间用空格分开软件效果图:原创 2020-09-07 17:55:07 · 864 阅读 · 1 评论 -
Python pip使用国内源高速下载第三方库
国内镜像站推荐:清华大学:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 豆瓣:http://pypi.douban.com/simple/使用方法:以前我们想安装一个numpy库时,一般使用 pip install numpy使用国内源下载:pip installhttps://pypi.tuna.tsinghua.edu.cn/simple numpy也..原创 2020-09-06 18:41:43 · 897 阅读 · 0 评论 -
Python实战 | socket+thinter 实现多人聊天室
效果展示:一、环境配置:IDE:Pycharm第三方库:无 (socket和thinter均为python内置库)二、服务端import socketfrom threading import Thread#创建socket,绑定地址和端口号host = '127.0.0.1'port = 8080#创建套接字s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind((host, port)) ..原创 2020-08-31 20:55:49 · 1306 阅读 · 0 评论 -
Python的全局解释器锁GIL
转一篇关于Python GIL的文章。归纳一下,CPU的大规模电路设计基本已经到了物理意义的尽头,所有厂商们都开始转向多核以进一步提高性能。Python为了能利用多核多线程的的优势,但又要保证线程之间数据完整性和状态同步,就采用了最简单的加锁的方式(所以说Python的GIL是设计之初一时偷懒造成的!)。Python库的开发者们接受了这个设定,即默认Python是thread-safe,所以开始大量依赖这个特性,无需在实现时考虑额外的内存锁和同步操作。但是GIL的设计有时会显得笨拙低效,但是此时由于内置.转载 2020-08-29 10:56:37 · 267 阅读 · 0 评论 -
Python的切片操作
Python想要截取列表list、元组tuple或字符串中的部分元素时,切片(Slice)可以方便进行这种操作我们使用方括号,起始偏移量start,终止偏移量end,步长step来定义切片操作格式:[start:end:step][:] 等价于[0:0:0],从起始位置0到结尾的所有元素[start:] 提取从start到末尾的元素[:end] 提取从起始位置0到end-1位置的元素[start:end] 提取从start到end-1位置的元素[start:end:step]..原创 2020-08-29 10:30:52 · 320 阅读 · 1 评论 -
Python自动化 | 通过键盘控制鼠标来玩赛尔号
最近心血来潮回归赛尔号(十年铁皮常不请自来)做剧情任务的时候有个小游戏,拖动黄色的按钮到达终点,白色的是存档点,途中如果碰到墙壁需要对战野怪,打赢了可以从存档点出发,但是由于刚回归,精灵跟不上时代,野怪打不过导致一旦失误只能从头再来感谢赛尔号让我知道我有帕金森的预兆_(:з」∠)_连续试了十几次之后屡屡碰壁,但又舍不得那个体力上限药剂那么有没有一种办法,让鼠标一次只移动1-2个像素,来一点一点地移动,避免撞墙失误呢?随后想起来可以用Python写一个键盘控制鼠标移动的程序,来进行“微原创 2020-07-09 21:05:44 · 892 阅读 · 0 评论 -
PyAutoGUI——自动化控制鼠标和键盘操作
PyAutoGUI模块通过屏幕xy坐标系统确定目标位置,控制鼠标和键盘发送虚拟击键和鼠标点击,完成点击按钮、填写表单等操作,在没有模块对应你要操作的无聊任务的时候,也不失为一个不错的选择。PyAutoGUI的坐标轴系统pyautogui的鼠标函数使用x,y坐标,原点在屏幕左上角,向右x坐标增加,向下y坐标增加,所有坐标都是正整数,没有负数坐标。如图所示:pyautogui.size() #返回屏幕宽高像素数的元组 ..转载 2020-07-09 13:48:34 · 2471 阅读 · 0 评论 -
Pycharm中导入已安装的第三方库
在使用pip install 命令安装某个第三方库后,会出现在Pycharm中却无法使用的情况在Setting——Project Interpreter中也查看不到安装过的库,必须手动再添加一遍,很麻烦,而且又经常出现莫名其妙的安装错误解决办法:点击Project Interpreter右边的齿轮标志——Add出现下面的界面,然后点击Existing envirnment,将Interpreter的路径设置为Python安装目录下的pythonw.exe点击OK就能看到通过p原创 2020-07-09 10:09:54 · 9052 阅读 · 3 评论 -
Python实战 | 调用API写一个图灵机器人
先注册一个图灵机器人:官网:http://www.turingapi.com注册账号后点击创建机器人,根据需要填写一下应用场景然后会看到获得的apikey放进Pycharm里简单配置一下:import requestsurl = "http://openapi.tuling123.com/openapi/api/v2"req = { "reqType": 0, # 输入类型 0-文本, 1-图片, 2-音频 "perception": # 输入信息原创 2020-06-15 22:11:31 · 766 阅读 · 0 评论 -
Python实战 | 爬取天气信息并数据可视化
Github项目完整源码地址:https://github.com/xylon666/Visualization结果展示:环境配置IDE:Pycharm第三方库:requests,pandas,matplotlib,BeautifulSoup4浏览器:Chrome爬取页面:天气预报网郑州2020.4月份天气情况http://www.tianqihoubao.com/lishi/zhengzhou/month/202004.html一、爬取信息头文件准备impo.原创 2020-05-20 19:56:05 · 10105 阅读 · 10 评论 -
Python pandas用法总结
一、生成数据表1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:import numpy as npimport pandas as pd2、导入CSV或者xlsx文件:df = pd.DataFrame(pd.read_csv('name.csv',header=1))df = pd.DataFrame(pd.read_excel('name.xlsx'))或者import pandas as pdfrom collections import namedtup转载 2020-05-20 16:05:48 · 723 阅读 · 0 评论 -
Python 结巴分词——自然语言处理之中文分词器
jieba分词算法使用了基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能生成词情况所构成的有向无环图(DAG), 再采用了动态规划查找最大概率路径,找出基于词频的最大切分组合,对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法。jieba分词支持三种分词模式:1. 精确模式, 试图将句子最精确地切开,适合文本分析:2. 全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;3. 搜索引擎模式,在精确模式的基础上,对长词再词切分,提高.转载 2020-05-10 10:30:32 · 2618 阅读 · 0 评论 -
Python自动化 | 使用PyUserInput实现模拟鼠标点击和键盘输入
所需环境:IDE:Pycharm第三方库:PyUserInput通过 pip installPyUserInput 安装win10可能会安装失败,解决方法参考https://blog.csdn.net/zhusongziye/article/details/79241410用法示例:from pymouse import PyMousefrom pykeyboard ...原创 2019-08-31 20:14:54 · 7384 阅读 · 1 评论 -
Python实战 | 使用代理IP刷CSDN博客访问量
声明:仅供学习交流,请勿用于不正当用途前置技能:Python爬虫 | 代理IP的获取和使用通过之前的学习,我们成功获取代理IP,有了代理IP,加上伪装用户UA,referer(告诉网站你是通过什么渠道进入这里的),我们可以完全制造一个虚拟的访客,来帮助我们达到一些目的,比如刷访问量首先是代理IP的获取,直接从之前的博客搬过来:from bs4 import BeautifulSo...原创 2019-08-26 15:35:35 · 3538 阅读 · 6 评论 -
解决Pycharm中使用scrapy框架时出现 from .items import Item 报错
将from xx.items import xxItem 改为:from ..items import xxItem在一个package中,同级使用 . 在父级使用 ..原创 2019-08-16 17:17:03 · 11523 阅读 · 12 评论 -
Python 文件操作
<1>打开文件在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式)示例如下:f = open('test.txt', 'w')说明:访问模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果...原创 2019-06-25 12:52:23 · 223 阅读 · 0 评论 -
Python飞机大战游戏 附素材及源码
效果图:代码:# coding:UTF-8import pygamefrom pygame import localsfrom sys import exitfrom pygame.sprite import Sprite,Groupimport random , time , mathclass BGSprite(Sprite): ...原创 2019-06-30 22:35:26 · 18231 阅读 · 30 评论 -
Python实战 | 完美爬取LOL全英雄皮肤高清原画 JavaScript动态网页
Github项目地址https://github.com/xylon666/Xylon_Code爬取结果展示:全原画+皮肤名称分类所需环境IDE:Pycharm第三方库:requests,PIL浏览器:Chrome爬取目标:LOL官网皮肤原画https://lol.qq.com/data/info-heros.shtml#Navi一、分析页面...原创 2019-07-23 14:56:51 · 2606 阅读 · 3 评论 -
Python split()函数的用法
描述split()通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num+1 个子字符串语法split()方法语法:str.split(str="", num=string.count(str))参数str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num -- 分割次数。默认为 -1, 即分隔所有。返回值...原创 2019-07-19 16:44:16 · 5171 阅读 · 0 评论 -
Python编码问题| UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法
写入文件中遇到 UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8') #改变标准输出的默认编码#或f =open('out.txt','a+',encoding='utf-8') ...原创 2019-07-22 16:35:51 · 2577 阅读 · 0 评论 -
python PIL 图像处理库简介
原文地址:https://www.cnblogs.com/lyrichu/p/9124504.html1. IntroductionPIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来...转载 2019-07-23 09:31:29 · 1725 阅读 · 0 评论 -
Python 常用第三方库合集
需要搭新环境的时候就过来看看爬虫:pip install requestspip install Pillow #PIL图像处理库pip install lxmlpip install seleniumpip install Scrapy #Scrapy框架pip install pymysql #数据库连接库pip install beautif...原创 2019-08-09 09:22:21 · 1374 阅读 · 0 评论 -
BeautifulSoup4的基本使用
BeautifulSoup是python解析html非常好用的第三方库!安装:pip install beautifulsoup4基本使用:from bs4 import BeautifulSouphtml_str = """ <ul> <li> <a href="http://www.bai...转载 2019-08-09 15:38:46 · 354 阅读 · 0 评论 -
PyCharm中撤消/恢复
撤消操作:在主菜单上,选择Edit | Undo 或按Ctrl+Z恢复操作:在主菜单上,选择Edit | Redo 或按Ctrl+Shift+Z原创 2019-08-09 15:47:55 · 13220 阅读 · 1 评论 -
Python爬虫selenium的安装和使用
selenium的安装:pip install selenium浏览器驱动下载Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/...原创 2019-08-07 15:12:12 · 611 阅读 · 0 评论 -
Python实战 | 爬取当当网 TOP500 畅销书
目标网页:当当网书籍畅销榜http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-24hours-0-0-1-1爬取结果:代码:import requests,re,jsondef request_dangdang(url): try: response = requests.ge...原创 2019-08-07 16:57:38 · 1696 阅读 · 2 评论 -
Python爬虫框架Scrapy的入门和实践
Github项目地址:https://github.com/xylon666/ScrapyScrapy框架,简单来说就是把爬虫各功能模块分割开来,分别负责相应的功能,让我们通过简单的学习和实践来使用他框架示意图: 架构分析:Scrapy Engine:Scrapy引擎。负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 Sc...原创 2019-08-19 16:29:25 · 685 阅读 · 4 评论 -
在python中如何使用多进制数字
我们在python中,除十进制外还可以使用二进制、八进制和十六进制1、二进制数字由0和1组成,我们使用0b或0B前缀表示二进制数print(int(0b1010))#102、使用bin()函数将一个数字转换为它的二进制形式print(bin(0xf))#0b11113、八进制数由数字0-7组成,用前缀0o或0O表示8进制数print(oct(8))#0o104、十...转载 2019-08-15 10:21:19 · 537 阅读 · 0 评论 -
Python爬虫 | 代理IP的获取和使用
GiThub项目地址:https://github.com/xylon666/Proxy_IP在使用爬虫大规模爬取网站信息时,有时会遇到反爬虫策略,比如当网站检测到一个IP地址频繁访问时,就会默认其为爬虫程序,从而禁止该IP地址访问,此时我们采取的措施有:设置延迟下载,更换user agent,或是使用代理IP所需环境:IDE:Pycharm第三方库:requests浏览器:...原创 2019-08-24 16:06:59 · 3458 阅读 · 6 评论 -
Python实战 | 爬取37000+四字成语 BeautifulSoup+requests+多线程
Github项目地址:https://github.com/xylon666/idiom效果展示:所需环境IDE:Pycharm第三方库:requests,BeautifulSoup浏览器:Chrome爬取目标:成语大全网全部四字成语:http://chengyu.tqnxs.com/一、分析页面网站通过首位字母检索—>拼音检索,然后展示所有成语...原创 2019-08-12 10:58:07 · 1545 阅读 · 0 评论 -
可迭代对象详解
1.可迭代对象我们已经知道可以对list、tuple、dict、set、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。把可以通过for...in...这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)。在Python中,迭代可通过for ... in来完成,例如列表的迭代:>&...转载 2019-08-12 17:33:23 · 1443 阅读 · 0 评论 -
五分钟写一个小爬虫,爬取小说并写入txt文件
先上代码:#-*- coding:UTF-8 -*-import requestsfrom lxml import htmlurl='http://www.shuge.net/html/111/111781/6593021.html' #需要爬数据的网址tree=html.fromstring(page.text)result=tree.xpath('//div[@class="b...原创 2018-07-22 11:57:06 · 8525 阅读 · 2 评论