![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python相关
python相关
机智豪SAMA
这个作者很懒,什么都没留下…
展开
-
为Jupyter 设置 多个不同Python版本 的kernel。
我的jupyter是python 3.7的内核,想换个3.8的内核,个人解决方案:在命令行中:ipython kernel install --name "python38" --user会在当前用户下创建一个配置文件。进入该目录。修改kernel.json中的argv,(由于本人存在多个python版本,且没用虚拟环境,命令行输入python 是python 3.7,python38是python3.8),所以我改成了如下:(如果你们没有配置环境变量可以直接将python.exe的路径全部原创 2021-04-05 17:57:40 · 808 阅读 · 1 评论 -
Python 异步编程 + tkinter 尝试
首先先科普一下,tkinter是单线程的。也就是不推荐主线程跑GUI,再另外一个线程里面修改GUI里面的内容。(比如说用多线程爬虫然后在另外一个线程里面把爬取的内容放到GUI中,你当然可以这么做,只是不推荐)由于requests不支持async编程,所以这里使用了aiohttp。下面是爬取图片异步的方法以及代码,代码中有注释(欢迎python大佬指出错误):import tkinterfrom PIL import Image, ImageTkfrom io import BytesIOimpo原创 2021-04-03 16:20:04 · 1709 阅读 · 0 评论 -
为tkinter 设置托盘(利用winico),然后打包使用。避免使用大量的pywin32代码
英文渣,参见SO的问题与答案:https://stackoverflow.com/questions/62372144/how-to-add-system-tray-to-my-tkinter-application-and-avoid-using-lots-of-pywin32原创 2020-09-02 20:26:37 · 611 阅读 · 0 评论 -
为Windows的Python GUI设置正确的DPI感知,出现__main__.pyinstallerimporterror failed to load dynlib/dll.
先上SO 原问题(本人提出的):__main__.pyinstallerimporterror-failed-to-load-dynlib-dll-shcore.,博客写的有点晚。本人做了一个tkinter GUI的程序,为了解决缩放和鼠标坐标的问题,使用了import ctypesctypes.windll.shcore.SetProcessDpiAwareness(2)是可以在我的电脑上正常工作的(Windows 10)。然后换了Windows 7,出现了如题中出现的问题。出现问题的原因是(原创 2020-06-22 22:30:03 · 1732 阅读 · 0 评论 -
解决OpenCV, Pywin32 模块在Pycharm中没有智能提示。
只需要安装opencv-contrib-python模块即可。注意:cv2所在的文件夹(或者是Python所在的文件夹不能有中文。本人解决的方法就是重装了Python并修改了安装路径,最后才有提示,)原创 2020-05-09 08:20:52 · 700 阅读 · 0 评论 -
Python One-line code记录,And和Or的妙用
简单的If和Else:a = 4if a > 3: if a > 4: j = ">4" else: j = "3< <=4"else: j = "<=3"# there are the same.print(j)print(a>3 and (a>4 and ">4" or...原创 2020-03-24 16:47:30 · 395 阅读 · 0 评论 -
50行代码不到 利用python+tkinter制作基础的截图工具
完整代码import tkinter as tk# from tkinter import *from PIL import Image, ImageGrab, ImageTkimport ctypes, sysif sys.getwindowsversion().major == 10: ctypes.windll.shcore.SetProcessDpiAwareness(...原创 2020-03-20 21:47:33 · 335 阅读 · 0 评论 -
利用pandas 和 ttk.Treeviews制作xlsx视图工具
import tkinter as tkfrom tkinter import ttkimport pandas as pddef Start(): fp = pd.read_excel("./test.xlsx") for _ in range(len(fp.index.values)): tree.insert('','end',value=tuple(...原创 2020-03-19 15:11:57 · 1264 阅读 · 2 评论 -
Python 性能测试,关于创建,查询列表List,元组Tuple,集合Set,字典Dict,有序字典OrderedDict的 速度 和 空间 测试
测试代码如下:import timeit,timefrom sys import getsizeof as SizeTest_List = [range(10)]print("列表内存{}".format(Size(Test_List)))Test_Set = set(range(10))print("Set内存{}".format(Size(Test_Set)))Test_Tup...原创 2020-03-19 01:15:48 · 671 阅读 · 0 评论 -
Python 制作FPS的后坐力下压
这个代码实现简单的一批,直接上代码,哎放假好无聊噢,import timeimport win32apiimport win32conLMB = win32con.VK_LBUTTONdef is_lmb_pressed(): return win32api.GetKeyState(LMB) < 0def mouse_move_relative(dx, dy):...原创 2020-02-12 11:19:05 · 1130 阅读 · 0 评论 -
tkinter中一个很重要的要点
对于任何一个需要绑定的东西如:.after().bind()不能直接传参数,(如果传参数,那么在运行到这个地方的时候则会直接运行该方法,甚至导致.bind()或者.after()失效)必须要用lambda: 你的函数(你的参数),如果你在.after里面出现了传参的方法,那么大概率会出现以下异常:RuntimeError: maximum recursion depth exceeded...原创 2020-02-08 21:29:55 · 272 阅读 · 0 评论 -
python处理 pywintypes.error 异常
我的原答案见:https://stackoverflow.com/questions/25053785/how-to-catch-these-exceptions-individually/60075942#60075942之前使用有关win32的库时,有时候会出现pywintypes.error异常,但我看的各种异常里面并没有看到pywintypes.error的异常。今天调试了一下:发...原创 2020-02-05 21:26:47 · 9109 阅读 · 0 评论 -
python 获取github某仓库的 release的最新版本信息
其实这个比较简单的辣。注意2个点:当你直接使用requests.get("某个github的release页的url").text会发现页面源码和你get得到的源码不一样。因为页面是动态加载ajax不建议直接爬取仓库release页,有些release的页面有最新发布的标签所用xpath不一样(如果你不用xpath,你用其他的也OK,但俺xpath算比较迅速),所以url= ht...原创 2020-02-04 21:51:58 · 2024 阅读 · 0 评论 -
为tkinter.scrolledText设置边框
scrolledText没有什么参考文档python官方文档是这个页面。当中提到scrolledText的构造方法和Text基本类似。import tkinterfrom tkinter import scrolledtextWin = tkinter.Tk()Text = scrolledtext.ScrolledText(Win)Text.pack(padx=10,pady=1...原创 2020-01-18 00:38:26 · 4873 阅读 · 1 评论 -
Tkinter实现当选择一个不同下拉框(Combobox,OptionMenu都可)的值时修改另一个下拉框的值
这个国内依旧没有教程。本人之前也以为无法实现,查阅各种资料找到了方法。实例:import tkinterfrom tkinter import ttkdef change(*args): global list if (mode.get() == "A"): list2.config(values=["you choose A"]) lis...原创 2020-01-03 19:32:24 · 3128 阅读 · 2 评论 -
Tkinter实现选择不同的单选框Radiobutton选项时修改另一个下拉菜单Combobox(OptionMenu也可)的选项内容
我看国内好像根本没什么教程讲tkinter,去SO站上找到了一些教程实例:import tkinterfrom tkinter import ttkdef change(): global list if (mode.get() == "A"): list.config(values=["A"]) list.current(0) e...原创 2020-01-03 19:05:51 · 1154 阅读 · 0 评论 -
百度翻译爬虫errno的错误码解释
之前爬过百度翻译,半年后又爬不了百度翻译了。然后最近又在尝试爬取百度翻译。遇到了如下errno错误码,根据我的情况总结如下:errno:997 cookie失效errno:999 post未提交from,to参数errno:998 sign参数错误其他还没遇到,暂时就这样。...原创 2020-01-01 18:25:56 · 8750 阅读 · 8 评论 -
自制github博客自动上传为在线图片的辅助工具
本人做笔记之前用的微软的sticky note,但由于太过于单一,能使用的格式太少,所以我就换了一个做笔记的软件----vnote,这个软件比较好的就是支持markdown,所以我还可以用来写博客。写这个工具的目的是因为我之前每次有博客要git到博客上面去的时候,都要先上传图片到图床(之前也是打算先写在csdn里面,然后直接将csdn博客导出为markdown再上传,似乎csdn的博客图片不能外...原创 2019-07-14 10:44:30 · 251 阅读 · 1 评论 -
scrapy框架与正则表达式
最近在尝试利用scrapy进行爬虫,requests我先放放,都要了解嘛~,xpath我是会用一点的,但我特喜欢用正则表达式,不喜欢用xpath,最近老在研究如何在scrapy中使用正则。 1、推荐的方法:在parse函数使用response.xpath().re()或者response.css().re(),返回的是符合条件的字符串的列表。 2、要import re后利用xpath或者...原创 2019-04-19 15:48:27 · 2344 阅读 · 0 评论 -
安装tesseract的那些坑
最近准备试一下验证码识别,学习的时候发现还是要安装一下tesseract-OCR,来进行识别。研究半天,我这里说一下我自己的安装技巧d(`・∀・)b。(1)去官网(点击去官网)先下载任意版本,版本后面有dev或者beta的代表是测试版,不建议下载(如果没有梯子的,我这里上传到度盘了,你们可以自行下载,度盘连接,提取码:nw9s)(2)坑了我很久的地方(´゚д゚`):在下载安装包之后在勾选的...原创 2019-05-07 15:38:55 · 5403 阅读 · 15 评论 -
使用pyinstaller打包使用tcl/tk扩展
现在网上很多的pyinstaller教程都已经过时了。比如这篇18年的博客:https://blog.csdn.net/BearStarX/article/details/81054134不说其他的参数,但这个参数是错的,总之是无法使用,会报错在多次查询资料后,有两种方法:1、在.spec里面的datas里面加入该tcl/tk扩展的路径以及名称。执行pyinstaller [-w] ...原创 2019-08-20 15:43:30 · 1283 阅读 · 0 评论 -
安装pyinstaller报AttributeError:module 'setuptools.build_meta' has no attribute '__legacy__'等错误
安装pyinstaller首先要安装pywin32,在cmd中pip install pywin32安装完成后,继续输入pip install pyinstaller最后一行出现了AttributeError: module 'setuptools.build_meta' has no attribute '__legacy__'奇怪的是,百度居然连这个代码一点都搜不到辣鸡百度,...原创 2019-04-23 00:21:58 · 9252 阅读 · 16 评论 -
django学习笔记(自用)
django视频学习:···p9有关数据模型需要看看。以下知识应该可以自己搭博客了。django这种大框架有点难开头,教程我也找了很多,发现这种大框架还是看视频学比较好,我找到了很好学的教程models.py:与数据库进行交互。models下有以下数据模型:CharField、DateTimeField、IntegerField、BooleanField…当没有规定主键的时候会自动生成主...原创 2019-05-26 16:24:27 · 251 阅读 · 0 评论 -
利用python+tkinter设置小程序的开机启动
设置开机启动有两种方式(我所知道的):1、修改注册表2、在系统文件夹的开始菜单文件下,如果找不到可以看这个,教程在这里这里我用了第二个方法,并以tkinter作为媒介写了一个菜单窗口,在设置选项里面,上源码:import sysimport tkinterimport osimport pythoncomfrom win32com.shell import shelldef b...原创 2019-08-17 16:45:37 · 1374 阅读 · 0 评论 -
python制作"QQ游戏--大家来找茬"游戏辅助(一)
"大家来找茬"是我小时候在家里家里人都喜欢玩的一款休闲游戏,因为这游戏可以考验人的眼力和反应能力才不是因为电脑垃圾玩不了其他大作游戏(╯‵□′)╯︵┻━┻ 最近了解到了一个特别牛逼的python第三方库———pywin32库,这个库是超级牛逼,打个比方,可以根据你的代码,大到鼠标操作,键盘操作,小到弹窗的声音,都能做到。不过网上关于该库的教程太少了,找不到专门的python文档来看。 ...原创 2019-05-15 15:23:02 · 3183 阅读 · 2 评论 -
利用python自制图片转换工具(PIL+filedialog+tkinter+pyinstaller)
自从上次自己做了一个有道翻译软件后,做完很有成就感,于是这次尝试自己做一个图片格式转换工具。\(•̀ω•́)/ 之前也是把这个软件想得太简单了。当时的想法就是: 1、以二进制rb的形式打开一个图片。 2、读取其二进制的文件数据,并赋值给一个变量 3、以wb的形式写入任意目录的‘名字+.‘图片格式’’ 后来完成后,我本地转换了一下,是可以的,后缀成功修改了,一上传到云,tm就...原创 2019-05-01 13:55:06 · 1138 阅读 · 1 评论 -
python自制翻译软件的详细过程。(requests+tkinter+pyinstaller)
模块和包:tkinter+requests+pyinstaller(打包暂时还没学,第二节再做笔记) 这里直接爬取的是有道翻译。 (不知道为什么网上的有关爬取有道翻译的教程非常的复杂,用到了各种反爬手段,因为有道的Form_Data里面有什么salt,sign等参数进行反爬虫措施。我这边直接在爬虫的时候删掉了这几个参数,结果还是可行的) 关于爬取有道翻译的教程,网上有很多,按照一般...原创 2019-04-25 15:36:17 · 867 阅读 · 0 评论 -
python简单的图片爬取以及批量下载
好久没学习爬虫了,于是天天浮躁搭博客,现在学习下载文件试试,今天就试了试下载图片,SADE,开始吧。d(`・∀・)b。 我是以谭文弟弟的博客为例子,这个B标签太多了内容太难提取了,我于是打算下载他博客中所有图片,我们先进入这个B的博客页面,按下F12查看源,可以得到页面的html代码,额,这里只爬取图片所以很简单图片嘛,我们只需要在标签的<img src="x">可以知道图片的...原创 2019-04-14 00:33:13 · 851 阅读 · 0 评论 -
python与正则表达式
首先要import re模块以下.前面可以是_sre.SRE_Pattern对象,或者就是re,如果是_sre.SRE_Pattern对象,就可以直接跳过pattern这一项。(关于_sre.SRE_Pattern对象(自己理解):就是一个正则表达式)(关于_sre.SRE_Match(match)对象(自己的理解):直接print该对象会显示,含有span和match两种属性,span就是...原创 2019-04-02 15:37:47 · 182 阅读 · 0 评论 -
python之模块与包
模块:1、载入模块的两种方法:①import 模块1,模块2…(as 别名)使用方法:模块1.某方法( )(或者别名.某方法( ) )②from 模块1,模块2… import 方法1,方法2使用方法:方法1()**这就是直接使用了,也会覆盖已有的属性和方法另:不建议使用from 模块 import *,这相当于导入模块的所有方法,如果在文件中同名的方法将会被覆盖。2、在一个模块里...原创 2019-03-19 20:09:47 · 101 阅读 · 0 评论 -
python之类的特殊方法
1、__repr__方法:我的理解:如果定义一个class后里面没有__repr__方法直接print ( 类名 )将会打出一个16位的16进制的数字(按照尿性来看应该是存储的地址),如果里面有__repr__方法,那么此时print ( 类名 )会显示__repr__的返回值。(return什么显示什么)2、del__方法:与__init__方法对应的__del__函数,当系统将要回收某个...原创 2019-03-19 14:13:40 · 853 阅读 · 1 评论 -
python异常
异常:1、异常的调用种类:①参数不够,发生索引错误,调用IndexError对应的expcet块处理异常②输入的参数与需求不同,发生数值错误,调用ValueError块处理异常③发生除0异常,调用ArithmeticError块处理异常④出现其他异常,肯定是Exception的子类,调用Exception块处理异常2、多异常捕获:可以将多个异常用元祖封装在一个expect里面,当发生...原创 2019-03-12 21:52:47 · 107 阅读 · 1 评论 -
python章节(序列)笔记
1、元祖和列表:①元祖不可改动,且定义元祖用(),而定义列表用[ ],列表可以修改。②元祖和列表不能相加。元祖或者列表×N相当于元祖或者列表里面的元素按顺序重复N次。2、在一些可以用索引的里面凡是有[ n;m ]是从n到m所有的全部,并不是只是n和m3、max(),min(),len(),括号里面加列表元祖数组字符串都能用5(列表增加)、①可以用.append(x)在结尾增加一个x(...原创 2019-02-13 16:24:40 · 395 阅读 · 1 评论