![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
浅醉樱花雨
热爱生活,热爱技术,喜欢造轮子,追求极简的编码体验!
联系方式:
QQ:1749498702
微信:q1749498702
邮箱:1749498702@qq.com
展开
-
pyqt、pyside与QWebEngine前端js交互简单示例
说明本示例只需在同一文件夹创建三个文件,三个文件建好之后,运行main.py文件即可。本示例主要演示PyQt、PySide与QWebEngine前端JS交互功能。示例使用Pyside6,如果使用PyQt,Slot需要换成pyqtSlot.效果先看运行效果代码本示例需要在同一个文件夹下创建三个文件一、前端HTML文件index.html<!DOCTYPE html><html lang="en"><head> <meta chars原创 2022-05-04 16:32:18 · 4681 阅读 · 1 评论 -
python 获取浏览器安装位置,并使用指定浏览器打开指定网页
说明本程序基于Windows注册表实现了浏览器安装位置的查找功能和使用指定浏览器打开网页的功能。使用 get_browser_path 函数可获取对应名称的浏览器的安装位置,使用 open_url 函数可直接使用指定的浏览器打开对应页面,可同时指定多个浏览器,优先级从前到后。当前支持 ‘IE’,‘chrome’,‘edge’,‘firefox’,‘360’ 等浏览器,如果有其他浏览器需要支持,只需在 _browser_regs 中补充对应注册表信息即可"""使用 get_browser_path原创 2022-01-14 16:31:50 · 3839 阅读 · 2 评论 -
pyinstaller 打包 pyqt5 Could not find QtWebEngineProcess.exe
问题使用 pyinstaller 打包 pyqt5 应用的时候本来运行正常,但在中文路径下不能运行。然后,升级 pyinstaller 和 pyqt5 到最新版本,再次打包,结果英文路径也不行了,爆出 Could not find QtWebEngineProcess.exe 之后自动退出。解决方法很简单,只需要两步:找到应用程序打包输出的文件夹,复制输出文件夹下的 PyQt5/Qt/bin 目录中的 qt.conf 和 QtWebEngineProcess.exe 到跟输出的exe文件同级的原创 2021-05-03 13:45:14 · 2414 阅读 · 4 评论 -
Python子进程执行系统命令,并实时获取输出数据和返回结果
背景最近在用Python写一个小程序,需要调用系统命令,需要获取执行之后的返回结果。由于任务执行时间较长,为便于观测任务执行过程,需要实时打印执行过程中产生的数据。经过一番摸索,封装了个通用的工具包。代码easy_subprocess.py"""author: lixkdescription: 本工具包用于执行子进程,实时获取子进程执行过程中输出的数据并打印到控制台,然后返回状态码和执行结果"""import subprocessimport sysdef run(cmd, shel原创 2020-12-12 14:04:09 · 3874 阅读 · 4 评论 -
Python 解决cmd窗口鼠标点击后挂起不执行问题(禁止快速编辑模式)
问题用Python开发的无界面程序,执行过程在cmd黑窗口中打印信息时,有时,一不小心鼠标点到了黑窗口里,程序就挂起,不执行了,必须把焦点去除才能恢复执行,很是烦人。一番搜索之后找到个还算简单的解决方案,此处记下来,分享给有需要的小伙伴。解决方案把这几行代码加入到待执行程序中即可。import ctypeskernel32 = ctypes.windll.kernel32kernel32.SetConsoleMode(kernel32.GetStdHandle(-10), 128)想要详细原创 2020-10-29 19:52:10 · 2845 阅读 · 0 评论 -
Python3 + Appium + 安卓模拟器 实现APP自动化测试,并生成测试报告(简化版)
背景在2018年的时候曾写过一篇自动化测试的文章,没想到这么受欢迎。原文地址:https://blog.csdn.net/u013314786/article/details/83216390在这一年多的时间里,挺多小伙伴看到了那篇文章,但是自己在操作过程中遇到了各式各样的问题,然后通过留言、私信、加QQ等方式联系我,而我又经常不在线,不能及时帮大家解决问题。所以抽空专门为想要入门自动化测试...原创 2020-04-26 17:53:50 · 11699 阅读 · 3 评论 -
matplotlib设置窗体大小和标题
示例代码import matplotlib.pyplot as pltimport numpy as npfig = plt.figure(figsize=(6, 3))fig.canvas.set_window_title('I am title')x = np.linspace(0, 10, 100)plt.plot(x, np.sin(x))plt.show()效果...原创 2020-01-02 17:54:35 · 8591 阅读 · 1 评论 -
flask打包单一可执行程序,包含静态资源
flask示例代码import osimport sysfrom flask import Flask, render_templatefrom flask_cors import CORS# 获取资源路径def resource_path(relative_path): if hasattr(sys, '_MEIPASS'): return os.pat...原创 2019-12-23 10:49:09 · 2362 阅读 · 1 评论 -
pandas NaN转换为None
在python中,用pandas做数据处理非常方便。但是有时候从其他地方读取数据时,会有异常值需要处理。比如,我们要从excel读取数据然后调用接口写入数据库时,读取到的空值是NaN,但是,接口接收的对应单元格数据应该是None,这时候怎么处理呢?当然,用pandas做这个事也是非常容易的。示例如下:原始数据:示例代码:import pandas as pd ...原创 2019-11-18 10:25:58 · 19460 阅读 · 2 评论 -
python动态导入模块
官方推荐方法import importlibmodule = importlib.import_module('my_module')其它方法module = __import__('iputils')('my_module')使用示例:import importlib# 导入user.py模块user = importlib.import_module('user')# 调用user.py中的原创 2018-01-03 21:30:54 · 3071 阅读 · 0 评论 -
Python 抓取可用代理IP
问题描述在做数据抓取的时候,经常会碰到有些网站对同一IP的访问频率做限制。遇到这种情况一般只有两种解决方案:降低抓取频率。这种方法在数据变化不频繁,数据量不大的情况下还好,但是,如果数据变化频繁或者数据量庞大,此方法明显不能满足需求。使用代理IP。抓取的过程中,经常更换代理IP,这种方法基本可以有效解决同一IP访问频率限制的问题。此方案的难点在于如何获取大量可用的代理IP。代理IP获取代理IP的获...原创 2018-03-07 11:39:40 · 3301 阅读 · 7 评论 -
bottle 使用 gevent 库 cannot import name wsgi
示例代码from gevent import monkeymonkey.patch_all()from bottle import Bottleapp = Bottle()@app.route('/')def index(): return 'Hello Bottle!'app.run(host='0.0.0.0', port=80, server='gevent...原创 2018-08-22 14:40:40 · 4517 阅读 · 0 评论 -
C extension: No module named pandas. libs. tslibs timedeltas
问题描述 C extension: No module named pandas. libs. tslibs timedeltas No module named ‘pandas._libs.tslibs.nattype使用pyinstaller打包pandas程序的时候遇到了这个问题。打包过程没有问题,运行打包好的程序就抛出这个关键异常提示。原因是打包的时候少了依赖包。...原创 2018-08-23 20:08:10 · 6007 阅读 · 1 评论 -
python 日志处理
平时做数据处理基本离不了日志记录功能。每次都配置一堆挺烦人,索性封装个模块,这里记录一下,与大家共享。 本日志模块目前只有一个方法getLogger,其他配置项通过参数传递,包括日志文件名,等级,日志文件划分方式,日志清除配置,日志格式等。 logger.pyimport loggingfrom logging import handlers# 日志级别字典__level_dict...原创 2018-09-06 17:13:30 · 699 阅读 · 0 评论 -
python 获取本机IP地址,检测端口是否被占用
import socketdef get_host_ip(): """ get host ip address 获取本机IP地址 :return: """ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: s.connect(('8.8.8.8', 80...原创 2018-10-17 12:21:15 · 5333 阅读 · 0 评论 -
Python3 + Appium + 安卓模拟器 实现APP自动化测试,并生成测试报告
概述本文主要分为以下几个部分安装Python3安装Python3的Appium库安装Android SDK安装JDK安装Appium安装模拟器编写测试脚本并生成测试报告正文一、安装Python3直接登录Python官网https://www.python.org/,下载最新版本即可。然后安装的时候注意一下安装路径,比如我的安装路径D:\Python37,接下来会用到这...原创 2018-10-20 20:04:52 · 120592 阅读 · 47 评论 -
python 发送邮件示例
这里以QQ邮箱为例,封装一个简单的发送邮件函数,支持普通文本和富文本以及附件发送功能。代码import osimport smtplibfrom email import encodersfrom email.header import Headerfrom email.mime.base import MIMEBasefrom email.mime.multipart import...原创 2019-06-02 17:21:00 · 433 阅读 · 0 评论 -
python监控文件/目录变化
python监控文件/目录变化的库有许多,试了一些,个人感觉watchdog挺好用,对文件的创建/修改/删除等都可以监控到,而且跨平台,用法也比较简单。代码示例import timefrom watchdog.events import *from watchdog.observers import Observerclass FileEventHandler(FileSystem...原创 2019-08-29 15:29:58 · 6459 阅读 · 0 评论 -
python 获取本机IP地址
查询本机IP地址,亲测本方法在windows和Linux系统下均可正确获取IP地址import socketdef get_host_ip(): """ 查询本机ip地址 :return: ip """ try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.co原创 2018-01-03 15:52:08 · 88235 阅读 · 9 评论 -
Python判断字符串、文件字符编码
python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型。但是有时候会识别错误。比如,前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解。 查了下字符编码规范,然后就自己写了个简单的编码识别方法。代码如下:[charset.py]# this util is used to detect file or string byt原创 2017-12-06 21:00:14 · 3244 阅读 · 0 评论 -
matplotlib 中文显示
默认情况下matplotlib是不支持中文的,中文字符显示都是框框。原因是matplotlib默认使用的字体中不包含中文。折腾一下午,发现其实很简单,要显示中文,只需要修改其配置文件即可。该配置文件名字是 matplotlibrc, 位置在python安装目录下的Lib/site-packages/matplotlib/mpl-data 目录下,比如下图是我机器上的位置:原创 2017-11-18 20:22:25 · 404 阅读 · 0 评论 -
python操作MySQL数据库
坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧:?12345678910import MySQLdb try:转载 2015-09-04 19:08:06 · 375 阅读 · 0 评论 -
python 执行 dos 命令
在Python/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法一般有这么几个:1、os.system(command)2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None) 若置syn为wx.EXEC_ASYNC则wx.Excute函数立即返回,若syn=wx.EXEC转载 2015-09-10 14:35:23 · 3094 阅读 · 0 评论 -
python 返回json 中文乱码
在用 flask 框架向前端返回 json 格式数据时,出现中文乱码,查了一下找到解决方法:给json.dumps() 方法设置第二个参数 json.dumps(obj, ensure_ascii=False)原创 2015-09-04 21:35:08 · 6425 阅读 · 0 评论 -
python实现简单爬虫功能
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。 我们可以通过python 来实现这样一个简单的转载 2015-10-08 16:03:18 · 487 阅读 · 0 评论 -
python3 Unicode 编码转换中文显示
s = b'\u4e2d\u6587\u5b57\u7b26'print(s.decode('unicode_escape'))原创 2016-03-25 15:20:49 · 10522 阅读 · 2 评论 -
Python 中的进程、线程、协程、同步、异步、回调
进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生?一、上下文切换技术简述在进一步之前,让我们先回顾一下各种上下文切换技术。不过首先说明一点术语。当我们说“上下文”的时候,指的是程序在执行中的一个状态。通常我们会用调用栈来表示这个状态——栈记载了每个调用层级执行到哪里,还有执行时的环境情况等所有有关的信息。转载 2016-09-28 20:56:24 · 380 阅读 · 0 评论 -
Python3发送post请求,自动记住cookie
在做登录的post请求时,需要记住cookie,否则不能访问登录后的页面。下面是登录的代码:#coding:utf-8import urllibimport http.cookiejarurl = "http://c.highpin.cn/Users/CLogin"postdata =urllib.parse.urlencode({ "Logon_Passw转载 2016-12-26 11:12:59 · 2688 阅读 · 2 评论 -
python 图片抓取
写个爬虫,抓点百度图片。本程序基于python3编写,可根据关键词抓取百度图片下载的图片:代码:import jsonimport osimport randomimport timeimport reimport easyguifrom urllib import request, parse# 图片保存路径PATH = '图片/百度/'原创 2016-12-26 12:05:17 · 1304 阅读 · 0 评论 -
pip 镜像
pip国内镜像: https://pypi.douban.com/ 豆瓣http://pypi.hustunique.com/ 华中理工大学http://pypi.sdutlinux.org/ 山东理工大学http://pypi.mirrors.ustc.edu.cn/ 中国科学技术大学 指定镜像三种方式:1. 在pip后面跟-i 来指定源,比如用豆瓣的源原创 2017-01-06 17:58:57 · 683 阅读 · 0 评论 -
python读取Excel数据
本程序需要导入xlrd包,可读取后缀名为.xls和.xlsx的Excel文件,使用示例如下:import xlrddef read(file, sheet_index=0): """ :param file: 文件路径 :param sheet_index: 读取的工作表索引 :return: 二维数组 """ workbook = xl原创 2017-03-08 16:03:05 · 21034 阅读 · 2 评论 -
flask 服务启动回调
flask 服务启动完成之后怎么回调执行其他代码,被这个问题困扰好久,各种查阅资料之后发现flask 的app.run()方法并没有提供回调参数,也没有提供服务启动完成之后,执行其他程序的装饰器,github上有人提了这个issue,flask本身好像确实没有提供解决方案。一番思索之后,那就自己实现一个吧。思路:在调用app.run()方法之前开启一个线程,用urllib.request检原创 2017-04-09 14:09:17 · 5842 阅读 · 1 评论 -
python 读写 Excel 工具代码
使用python做数据处理经常需要操作excel文件,我比较喜欢pandas,可以方便快捷的操作excel,csv等格式的文件。但是有时候只需要读写excel数据,不需要对数据进行复杂的运算,这时候用pandas就感觉大炮打蚊子了。所以,这里基于xlrd和xlwt两个excel操作库封装了几个简单易用的方法。说明:read方法用于将excel数据转化为二维列表 read_dict方法用于...原创 2017-04-09 14:21:03 · 1466 阅读 · 0 评论 -
Python 打包单文件可执行程序
这两天用Python写了个小工具,想要在没有安装Python的机器上执行,首先想到了pyinstaller 。pyinstaller 打包程序通常只需要一句命令即可:1. 打开cmd控制台,将目录切换到pyinstaller安装目录,我的在D:\python\Python36\Scripts目录下;2. 输入命令:pyinstaller D:\JetBrains\PyCharm\原创 2017-07-05 12:24:28 · 7330 阅读 · 2 评论 -
Python 3.6 api-ms-win-crt-runtime-l1-1-0.dll丢失
问题:Python 3.6安装或者运行时出现丢失api-ms-win-crt-runtime-l1-1-0.dll异常:解决办法:下载安装VC运行库即可。地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145&e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True点击下载按钮,然后选择对...原创 2017-07-17 19:00:36 · 30036 阅读 · 9 评论 -
python 获取文件字符编码类型
被Windows记事本的utf-8编码坑了一上午,python 按utf-8编码读取出来的内容总是有问题。最后通过程序获取文件编码类型才发现,记事本的utf-8是带BOM的!要用utf-8-sig类型读取。获取编码类型的示例程序: import chardet# 获取文件编码类型def get_encoding(file): # 二进制方式读取,获取字节数据,检测类型...原创 2017-09-01 16:31:46 · 14922 阅读 · 5 评论 -
Python判断文件和字符串编码类型
python判断文件和字符串编码类型可以用chardet和cchardet工具包,可以识别大多数的编码类型。使用示例:import chardetwith open("test.txt", "rb") as f: msg = f.read() result = chardet.detect(msg) print(result['encoding'])charde...原创 2017-09-11 12:03:40 · 15990 阅读 · 4 评论 -
python3 sqlite3操作工具类
本工具类对sqlite3的操作进行了封装,对外只提供初始化和execute()方法,使用极其简单,代码如下:easy_sqlite.pyimport sqlite3class EasySqlite:"""sqlite数据库操作工具类database: 数据库文件地址,例如:db/mydb.db"""_connection = Nonede原创 2017-10-13 15:48:56 · 5385 阅读 · 1 评论 -
python使用mysql数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装:Ubuntu\deepin>>sudo apt-get install mysql-server >>S转载 2015-09-04 19:10:42 · 390 阅读 · 0 评论