学习
文章平均质量分 81
克金森沐沐
这个作者很懒,什么都没留下…
展开
-
利用Python爬虫网上的漂亮妹子图
最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据、解析数据、保存数据。下面一一来讲。1.下载数据首先打开要爬的网站,分析URL,每打开一个网页看URL有什么变化,有可能带上上个网页的某个数据,例如xxID之类,那么我们就需要在上一个页面分析HTML,找到对应的数据。如果网页源码找不到,可能是ajax异步加载,去xhr里去找。有的网站做了反爬的处理,可以添加User-Agent :判断浏览器self.user_原创 2021-09-04 11:30:14 · 535 阅读 · 0 评论 -
python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~
今天要教大家一个黑科技,20行代码实现自己定制的微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的微信上有一大批好友的公测,效果还可以。(ps:其实最大胆感受还是,这货比我还会撩妹,撩起妹来一套一套的,晒一波自动撩妹图) 废话不说了,具体操做如下:1.安装python环境python2.x或着python3.x都行对此程序无影响2.安装python的itchat库mac自带python,只需要安装pyth原创 2021-08-26 14:51:07 · 4457 阅读 · 2 评论 -
详解Python数据类型:字符串、列表、元组、字典、集合
这篇文章主要介绍了Python列表(list)、字典(dict)、字符串(string)基本操作小结,本文总结了最基本最常用的一些操作,需要的朋友可以参考下原创 2021-08-20 14:55:00 · 686 阅读 · 0 评论 -
如何合理使用python的虚拟环境virtualenv
Python 虚拟环境的使用了解虚拟环境虚拟环境库的安装Windows上安装虚拟环境创建Linux上安装虚拟环境指令虚拟环境总结了解虚拟环境如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还使用上面的命令,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢?解决方案:虚拟环境那么什么是虚拟环境呢?虚拟环境其实就是对真实 python 环境的复制,这样我们在复制的 python 环境中安装包就不会影响到真实的python环境。通过建立多个虚拟环境,在不同的原创 2021-06-15 18:03:41 · 421 阅读 · 1 评论 -
微软开源最强Python自动化神器Playwright!不用写一行代码!
大家好,我是沐沐。相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具。写个Python自动化脚本解放双手基本上是常规的操作了,爬虫爬不了的,就用自动化测试凑一凑。虽然selenium有完备的文档,但也需要一定的学习成本,对于一个纯小白来讲还是有些门槛的。微软开源了一个项目叫「playwright-python」,简直碉堡了!这个项目是针对Python语言的纯自动化工具,连代码都不用写,就能实现自动化功能。...原创 2021-06-11 15:17:06 · 731 阅读 · 2 评论 -
震惊!几道Python 理论面试题,Python面试题No18
第1题: 简述解释型和编译型编程语言?解释型语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻译一次,效率比较低。用编译型语言写的程序执行之前,需要一个专门的编译过程,通过编译系统,把源高级程序编译成为机器语言文件,翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。第2题:Pytho转载 2021-06-08 18:49:49 · 283 阅读 · 0 评论 -
用Python写微信防撤回脚本,锁定那些被撤回的消息,就是撤回了也可以看到
如果好友短时间发送多条消息然后撤回会难以判断究竟撤回的是哪条信息,只能靠猜。后来我觉得“猜”这个事情特别不Pythonic,研究一段时间后找到了解决方案,不得不惊叹ItChat真的好强大。之前解决方案大概是这样:短时间内同一位好友发送了多条消息,当他随便撤回一条消息时,我们不能确定他到底撤回的到底是哪一条消息。只能猜他可能是撤回了最近的一条消息,然后将其他消息贴出来作为备选。代码如下:target_msg_pattern = '"{}" 撤回了一条消息'.format(sender_name)i.原创 2021-06-07 15:27:19 · 1058 阅读 · 4 评论 -
利用Python爬取网页美女图片,哇太多了,我U盘装满了!
最近几天,研究了一下一直很好奇的爬虫算法。这里写一下最近几天的点点心得。下面进入正文:你可能需要的工作环境:Python 3.9官网下载我们这里以sogou作为爬取的对象。首先我们进入搜狗图片https://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果需要爬取某网站资料,那么就要初步的了解它… 进去后就是这个啦,然后F12进入开发人员选项,笔者用的是Chrome。右键图片>>检查发现我们需要的图片src是在img标签下的,于是先试着用 Pytho原创 2021-06-05 18:22:30 · 1598 阅读 · 4 评论 -
瞬间“友尽”的五大整蛊代码,快去坑你的小伙伴吧!
Python 能做很多无聊,但有意思的事情,例如接下来的一些案例。Python 五大整蛊代码Python 整蛊程序无聊程序之一无聊程序之二无聊程序之三无聊程序之四无聊程序之五Python 整蛊程序以下程序,不要发代码,要不实现不了你整蛊的目的。要打包成一个 exe 程序,发给朋友才有意思。使用 pip install pyinstaller。打包命令如下:pyinstaller -F 文件名.py1过程中如果出现 BUG(一般是编码错误),点击导航查看解决方案无聊程序之一while原创 2021-06-04 14:01:41 · 9328 阅读 · 6 评论 -
用 Python 写个贪吃蛇,保姆级教程
本文基于 Windows 环境开发,适合 Python 新手Python 练手级项目——贪吃蛇一、初识 curses1.1 简单使用1.2 整点花样1.2.1 新建一个子窗口1.2.2 上点颜色1.2.3 给点细节二、贪吃蛇2.1 设计2.2 蛇语者2.3 命令行?画板!2.4 控制!2.5 直接使用三、结尾本期介绍 Python 练手级项目——贪吃蛇!原本想推荐一个贪吃蛇的开源项目:python-console-snake,但由于该项目最近一次更新是 8 年前,而且在运行的时候出现了诸多问题。.原创 2021-06-02 14:35:10 · 1663 阅读 · 2 评论 -
手把手教你构建自己的第一个Python包
构建自己的第一个Python包1. 使用Github创建项目存储库2. 下载git存储库3. 设计包结构4. 编写setup.py文件5. 安装包的两种方法1. 使用Github创建项目存储库请记住选择.gitignore和liensce文件,.gitignore文件可以帮助您避免将一些中间文件提交到git存储库。2. 下载git存储库找到存储库的git地址,并通过执行以下操作将代码下载到本地目录。git clone https://github.com/xxxx/mydates.git3.原创 2021-06-01 15:00:31 · 563 阅读 · 1 评论 -
如何用机器学习在15分钟内破解网站验证码系统?
我们今天以破解世界上最流行的WordPress验证码插件为例。每个人都很讨厌验证码吧?这些烦人的小照片里有很多文本信息,只有输入它们后才能访问网站。人们设计验证码系统的初衷是为了验证访问网站的用户是一个真实的人。但随着深度学习和计算机视觉技术的进步,我们很容易就能打败这些验证码系统。(除非你遇到 12306 那种骚骚的图片识别验证,有时真的会陷入绝望)Adrian 没有访问网站生成验证码照片的工具的源代码,所以为了破解验证码,他必须下载几百个示例图像,然后手动用它们训练自己创建的机器学习系统。但如原创 2021-05-31 17:41:48 · 375 阅读 · 2 评论 -
花一个晚上时间整理,十大经典排序算法(Python版本),拿起就用
十大经典排序算法关于时间复杂度关于稳定性名词解释冒泡排序算法步骤动图演示Python 代码选择排序算法步骤动图演示Python 代码插入排序算法步骤动图演示Python 代码希尔排序算法步骤Python 代码归并排序算法步骤动图演示Python 代码快速排序算法步骤动图演示Python 代码堆排序算法步骤动图演示Python 代码计数排序动图演示Python 代码桶排序什么时候最快什么时候最慢Python 代码基数排序动图演示Python 代码排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以转载 2021-05-30 18:52:05 · 140 阅读 · 0 评论 -
为什么 Python 代码要写得美观而明确
欢迎阅读 Python 代码之美观首先来看《Python 之禅》里的前两个原则:美观与明确。早在 1999 年,Python 的贡献者之一,Tim Peters 就提出了《Python 之禅》,直到二十年后的今天,《Python 之禅》中的 19 条原则仍然对整个社区都产生着深远的影响。为此,就像庆典光明的光明节Hanukkah一样,我们举行了这一次的“Python 光明节Pythonukkah”。首先,我们会讨论《Python 之禅》中的前两个原则:美观和明确。“Hanukkah is the F原创 2021-05-28 19:03:06 · 156 阅读 · 0 评论 -
Python识别图片中的文字
Python识别图片中的文字前言Tesseract(1)Tesseract的安装及配置(2)下载语言包(3)其它模块下载文字识别(1)单张图片识别(2)批量图片识别前言不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制。或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存。但是当我们想用到里面的文字时,还是要一个字一个字打出来。那么我们能不能直接识别图片中的文字呢?答案是肯定的。Tesseract文字识别是ORC的一部分内容,ORC的意思原创 2021-05-26 19:22:21 · 15622 阅读 · 26 评论 -
Python监控你的(女朋友/男朋友)每天都在看哪些网站
Python监控你的(女朋友/男朋友)每天都在看哪些网站需求背景requirements代码执行问题总结展望需求获取你对象chrome前一天的浏览记录中的所有网址(url)和访问时间,并存在一个txt文件中将这个txt文件发送给指定的邮箱地址(你的邮箱)建立例行任务,每天定时自动完成这些操作,你就可以通过邮件查看你对象每天看啥了背景mac下chrome的浏览记录在哪?怎么获取网址(url)和访问时间?答:路径:/Users/用户名/Library/Application\ Suppor原创 2021-05-25 10:38:20 · 607 阅读 · 0 评论 -
一次简单的验证码识别以及思考
验证码识别以及思考验证码识别验证码的架构思考验证码验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这原创 2021-05-24 19:15:21 · 307 阅读 · 2 评论 -
5年 Python 功力,总结了 10 个开发技巧!网友:太实用了
Python 开发小技巧1. 如何在运行状态查看源代码?2. 如何关闭异常自动关联上下文?3. 最快查看包搜索路径的方式4. 将嵌套 for 循环写成单行5. 如何使用 print 输出日志6. 如何快速计算函数运行时间7. 利用自带的缓存机制提高效率8. 在程序退出前执行代码的技巧9. 实现类似 defer 的延迟调用10. 如何流式读取数G超大文件今天给大家分享 10 个我平时整理非常实用的 Python 开发小技巧,内容目录如下:1. 如何在运行状态查看源代码?查看函数的源代码,我们通常会使用转载 2021-05-22 19:05:06 · 364 阅读 · 0 评论 -
Python元编程:控制你想控制的一切
Python元编程:控制你想控制的一切ImportTime vs RunTime元类装饰器对数据的抽象--描述符控制子类的创建——代替元类的方法很多人不理解“元编程”是个什么东西,关于它也没有一个十分准确的定义。这篇文章要说的是Python里的元编程,实际上也不一定就真的符合“元编程”的定义。只不过我无法找到一个更准确的名字来代表这篇文章的主题,所以就借了这么一个名号。副标题是控制你想控制的一切,实际上这篇文章讲的都是一个东西,利用Python提供给我们的特性,尽可能的使代码优雅简洁。具体而言,通过编程原创 2021-05-21 18:45:48 · 294 阅读 · 0 评论 -
python实现DBSCAN算法
关于这个算法的介绍有很多方式先上结果大致流程先根据给定的半径 r 确定中心点,也就是这类点在半径r内包含的点数量 n 大于我们的要求(n>=minPionts)然后遍历所有的中心点,将互相可通达的中心点与其包括的点分为一组全部分完组之后,没有被纳入任何一组的点就是离群点啦!导入相关依赖import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasets求点跟点之间距离(欧氏距离)def cu原创 2021-05-20 16:51:00 · 427 阅读 · 1 评论 -
经典排序算法(Python 实现)
Python 实现排序算法简介冒泡排序介绍实现时间复杂度选择排序介绍实现时间复杂度插入排序介绍实现时间复杂度堆排序介绍实现时间复杂度归并排序介绍简介时间复杂度快速排序介绍实现时间复杂度Python 的内置排序函数速度比较总结简介有时,我们在应用程序中存储或检索的数据有可能是乱序的。如果想要正确处理或者有效使用数据,我们可能需要对数据重新排序。多年来,计算机科学家创造了许多排序算法来处理数据。在本文中,我们将了解一些流行的排序算法,了解它们是如何工作的,并用 Python 来实现它们。们还将会比较它们对转载 2021-05-19 09:20:47 · 468 阅读 · 0 评论 -
如何将你的 neovim 打造成 vscode 一般的 Python IDE?
将 neovim 打造成 vscode 一般的 Python IDE安装安装neovim1. 下载 nvim.appimage2. 加入可执行权限3. 放入/usr/bin 目录配置插件管理自动补全1. 安装 coc.vim2. 安装Python支持3. 安装快速生成代码插件4. 安装书签搜索配色插件窗口控制文件浏览美化状态栏加入 emoji 图标注释插件自动生成 Python 函数/类文档快速对齐彩虹括号安装安装neovim本文只写Linux 的安装。由于仓库的 neovim版本可能和最新版本有很原创 2021-05-18 10:04:41 · 2033 阅读 · 3 评论 -
如何将Python脚本打包成exe执行文件
Python脚本打包成exe执行文件需求代码实现打包exe执行文件安装pyinstaller打包直接执行脚本执行效果需求一个教辅目录结构检查工具,目录结构是[书籍]-[章节]-[题目|答案]-[*.jpg],后台有个异步处理的服务,需要强依赖这个目录结构。书籍解析是单独的pipeline,日志对用户不可见,这里用python写个工具给用户,方便他们检查目录结构,逻辑很简单,检查书籍下所有的章节是否只包含“题目”、“答案”两个文件夹,如果有其他文件或者目录结构不对,需要把异常的结构打印出来代码实现i原创 2021-05-15 10:44:55 · 597 阅读 · 1 评论 -
利用 Python 破解 ZIP 或 RAR 文件密码
利用 Python 破解 ZIP 或 RAR 文件密码破解原理实验环境库利用 Pipenv 安装 rarfile编码准备密码本读取压缩文件尝试解压暴力破解程序入口使用运行结果:扩展密码本如何获取?如何加速破解过程?多线程(进程)破解利用 GPU 加速常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用。想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道。本文将会利用 Python 破解压缩包的密码,这里以 ZIP/RAR 为例。本原创 2021-05-14 11:17:17 · 2357 阅读 · 16 评论 -
pypy真的能让python比c还快?
pypy为什么能让python比c还快语言分类静态语言 vs 动态语言强类型语言 vs 弱类型语言python的解释器实现pypy为什么快性能比较开车和步行横向对比性能优化方法使用c函数优化循环静态类型算法的魅力优化的原则pypy的特性小结附录“pypy为什么能让python比c还快” 刷屏了,原文讲的内容偏理论,干货比较少。我们可以再深入一点点,了解pypy的真相。话不多说,正式开始,本文包括下面几个部分:语言分类python的解释器实现pypy为什么快性能比较性能优化方法pypy的特性原创 2021-05-13 19:07:40 · 1443 阅读 · 1 评论 -
只需四行代码,快速提取视频中的音频,再也不用为此发愁了
有时候我们想要把视频中的音频分离出来,那就得到处去找可以分离音频的软件,好不容易找到一个软件安装后发现还需要付费才能使用其功能。为此写了一个只需要编辑四行代码的python小程序来帮助大家解决困扰!话不多说,看下文!1.首先,我们打开电脑,用鼠标点击Win图标,然后在搜索栏搜索cmd,打开cmd。2.打开cmd后,我们输入pip install moviepy,让我们的电脑安装moviepy库3.然后我们继续输入python,进入python交互环境。4.在交互环境中输入import moviepy原创 2021-05-10 16:25:18 · 869 阅读 · 3 评论 -
python脚本控制安卓手机,可以用来做什么你知道吗?
python脚本控制安卓手机架构想法使用方法安装PyAndroidControl APP按照个人需求修改代码有的时候想写写安卓的脚本,不过用 java 或者 kotlin 写图像处理什么的太麻烦了,按键精灵的脚本我也懒得学。adb 倒是可以,但是很多时候要用电脑,又有些不太方便。感觉现在云手机比较方便吧,比如说:红手指、爱云兔这种,我比较喜欢用云手机这种挂一挂机,在手机上随时都能看看挂机的进度什么的。于是就写了个基础的安卓端的接收器,用来接收服务端 python 的控制命令,从而对安卓机进行操控。架原创 2021-05-08 18:14:23 · 376 阅读 · 1 评论 -
下个十年,Python的“王者”地位还能保住吗?
python"王者地位"Python 三大主要槽点Python “非常缓慢”全局解释器锁对移动应用开发贡献不足为什么 Python 在下一个十年依然如此重要最适合初学者学习的编程语言人气和社区支持在人工智能 / 数据科学领域占主导地位总结甭管唱反调的人怎么唱衰,Python 在下一个十年仍然很重要,并且会与时俱进。Python 是一门了不起的编程语言,它改变了游戏规则,将编程的格局提升到了一个完全不同的层次。Python 的迅速崛起对整个行业来说都是极其有利的,但是当它越来越受欢迎时,却总是受到批评。原创 2021-05-07 19:23:02 · 272 阅读 · 0 评论 -
Python大佬手把手带你用爬虫破解——滑动验证码识别
做爬虫总会遇到各种各样的反爬限制,反爬的第一道防线往往在登录就出现了,为了限制爬虫自动登录,各家使出了浑身解数,所谓道高一尺魔高一丈。利用爬虫破解——滑动验证码识别小小课堂模拟匀加速和匀减速分析登录页面分析网页结构代码实现登录过程测试完整代码小小课堂步骤:(1)计算滑动距离(2)模拟人滑动(总体思路是先快再慢)下面我们先来看下豆瓣登录界面这个时候我们通过输错密码的方法,使其出现验证码。多滑动和刷新几次,发现一些规律,y轴不变,x轴在变化,豆瓣这个滑动验证码,x轴距离大概207左右,如果需要精原创 2021-05-06 15:32:18 · 1408 阅读 · 2 评论 -
Python全局变量global关键字详解
这篇文章主要介绍了Python全局变量global关键字详解,需要的朋友可以参考下Python中的变量作用域一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量那么问题来了, 如果想在函数内使用全局变量,或改变全局变量的值, 应该怎么做呢?Python全局变量global关键字为了解决函数内使用全局变量的问题,python增加了global关键字.原创 2021-05-05 14:32:00 · 1254 阅读 · 0 评论 -
一文彻底搞懂python的垃圾回收机制及常量池验证
通过代码验证python解释器内部使用了常量池Python的引入变量的引入为什么要有变量定义变量常量引入常量池引入Python解释器Python变量存储机制Python垃圾回收机制引用计数重看Python垃圾回收机制常量池总结Python的引入人类认识世界是从认识世界中的一个又一个实物开始,然后再对其用语言加以描述。例如当中国人看到苹果时,便会用中文“苹果”加以描述,而用英语的一些国家则会用“apple”加以描述。以上说到的中文和英文都是人类认识并描述世界的一个工具,而在计算机的世界中,为了让计算机.原创 2021-05-04 11:19:58 · 720 阅读 · 0 评论 -
python调用matlab函数
python调用matlab函数1、matlab中python外部接口(API)的安装2、matlab.egine模块3、从Python传递数值到Matlab1、matlab中python外部接口(API)的安装第一次使用Matlab需要先安装一下python的API。路径为:…\Matlab2019a\extern\engines\python\setup.py需注意matlab版本与其所支持的python版本,如 Matlab2018b支持python 3.4 3.5 3.6,2019a支持到3原创 2021-05-03 11:33:18 · 1873 阅读 · 1 评论 -
准时摸鱼,正点收网,Python实现下班倒计时
你有过摸鱼时间吗在互联网圈子里,常常说996上班制,但是也不乏965的,更甚有007的,而007则就有点ICU的感觉了,所以,大家都会忙里偷闲,偶尔摸摸鱼,摸鱼的方式多种多样的,你有过上班摸鱼吗?你的摸鱼时间都干了些什么呢?如果你早早的完成了当天的任务,坐等下班的感觉是不是很爽呢?我想说这时间还是很难熬的,还不如找点事情做来得快呢,那做点什么呢?写个下班倒计时吧,就这么愉快的决定了……实现思路倒计时的时间刷新,肯定得需要图形界面,也就是需要GUI编程,这里我用的是tkinter实现本地窗口的界面,使.原创 2021-04-30 14:04:25 · 608 阅读 · 1 评论 -
关于python一切皆对象的理解
Python1. 关于python传递参数的方式(值传递和引用传递)2. python装饰器3.猴子补丁1. 关于python传递参数的方式(值传递和引用传递)python是一些皆对象的,关于传参,就是python的对象传进去,就是对象引用传递,但是python有可变类型和不可变类型,这是在其他语言没有的概念,当传递对象是不可变类型,就像其他语言的值传递,当对象是可变类型,就相当于其他语言的引用传递2. python装饰器装饰器的本质就是闭包,只要编程语言中函数可以当值来传递,都可以实现闭包转载 2021-04-28 15:36:30 · 318 阅读 · 0 评论 -
手机最强Python编程神器,在手机上运行Python
手机编程软件有很多,大部分都很难使用,操作不灵活,甚至不能安装第三方库。尝试安装了很多Python移动编程软件,发现了很多问题,不是编码效率低就是各种bug。今天,来自一位python编程小哥指导,向大家推荐两款精心挑选的手机编程软件,它们也是非常成熟的手机编程工具,Android、IOS 都可以。QPython OHQpython是一个轻量级的、成熟的python编程工具。它配有终端和简单的代码编辑器。它支持安装第三方库。目前,它支持Python 3.6.6,这还不算太老。代码编辑区域代码比其他转载 2021-04-27 19:40:30 · 329 阅读 · 0 评论 -
高能!全网最全的Python异常归纳和处理方法,建议收藏
相信很多学习编程的小伙伴都曾为运行报错抓耳捞腮,不知所措过(小编也是o(╥﹏╥)o)。常常一大堆报错信息出现在屏幕下方,看得人云里雾里的不知所云。今天,小编就来给大家分享一下python的常见异常,小伙伴火速收藏起来吧!Python异常处理方法汇总python标准异常什么是异常?异常处理使用except而不带任何异常类型使用except而带多种异常类型try-finally 语句异常的参数触发异常用户自定义异常python标准异常异常名称描述BaseException所有异常的基原创 2021-04-26 12:21:25 · 708 阅读 · 0 评论 -
python多版本与虚拟环境
这篇纯python技术文章,平时也会用到,在此记录一下。用macOS和Ubutntu的同学都知道系统默认安装的Python2.7.x,然后,我们平时python开发用的python3,所以,需要额外安装一个Python3.x的版本。之前,是使用robotframework-ride但它只支持python3.7,于是,安装python3.7。(注:现在已经支持3.8了)前几天,想学习一下tinygrad,他支持python3.8,于是,又装了3.8。python多版本管理1. 使用Where查找安装原创 2021-04-25 12:32:35 · 327 阅读 · 0 评论 -
Python爬虫解析网页的3种方式,值得收藏
一般来说当我们爬取网页的整个源代码后,是需要对网页进行解析的。Python网页解析正则匹配解析:BeautifulSoup解析项目实战正常的解析方法有三种①:正则匹配解析②:BeatuifulSoup解析③:lxml解析正则匹配解析:在之前的学习中,我们学习过爬虫的基本用法,比如/s,/d,/w,*,+,?等用法,但是在对爬取到的网页进行解析的时候,仅仅会这些基础的用法,是不够用的,因此我们需要了解Python中正则匹配的经典函数。re.matchrunoob解释:re.match尝试从字原创 2021-04-24 11:03:45 · 6092 阅读 · 2 评论 -
办公室大神级骚操作:Python控制Excel实现自动化办公
很多做文员的小姐姐一直在说做报表好麻烦呀,但一直找不到一个合适的报表工具,这不… 思来想去,感觉 Excel 就一定程度上能做可视化的, 除了不能动态交互外, 其他都挺好.。今天分享的就是一个关于如何用 Python来自动化Excel 报表, 解放双手, 提高工作效率。总体解决方案输出报表当然是测试用的假数据啦。自动化Py脚本基本思路:准备模板数据需要的 SQL用 Pandas 连接 数据库 并执行 SQL, 返回 DataFrame用 Xlwings 直接打开 Excel, 并将原创 2021-04-23 10:35:40 · 1109 阅读 · 1 评论 -
递归解法:让程序员的代码更优雅,正经人谁用递归呀!
在讲解递归函数之前我们先了解一下栈堆递归解法1.递归函数2.尾递归单独讲栈堆是数据结构栈:后进先出的一种数据结构堆:排序后的一种树状数据结构栈区堆区是内存空间栈区:按照后进先出的数据结构(栈),无论创建或销毁都是自动为数据分配内存,释放内存(系统自动做的)堆区:按照排序后的树状数据结构(堆),可优先取出必要数据,无论创建或销毁都是手动分配内存,释放内存(程序员手动做的)内存中的栈区: 自动分配 自动释放内存中的堆区: 手动分配 手动释放运行程序时在内存中原创 2021-04-22 17:01:29 · 539 阅读 · 1 评论