![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
Python基础知识
wxsy024680
这个作者很懒,什么都没留下…
展开
-
Python——子线程
1、如果一个子线程正在无限循环中,使用join()函数,不仅无法杀死该子线程,而且主线程也会卡死。原创 2023-06-06 17:40:47 · 756 阅读 · 0 评论 -
Python——对numpy类型的数据取整
Python——对numpy类型的数据取整。原创 2022-08-18 16:56:26 · 920 阅读 · 0 评论 -
Python——获取串口数据
打开设备管理器,双击端口设备,点击端口设置,这里面的参数需要与下面代码中的参数保持一致。import serialimport timeserialport = serial.Serial()serialport.port = 'COM3'serialport.baudrate = 115200serialport.bytesize = 8serialport.parity = serial.PARITY_NONEserialport.stopbits = 1serialport.tim原创 2022-05-12 19:14:57 · 4285 阅读 · 2 评论 -
Python——获取多边形框的最小外接矩形
points = np.array([[0,8],[17,18],[22,10],[5,0]])(cx, cy), (w, h), theta = cv2.minAreaRect(points)代码中,w和h分别指的是哪条边,theta指的是哪个夹角,我们不得而知,现在就进行验证:如图显示,红线和红角分别对应的是w和theta,这样一来就明白了。...原创 2022-05-10 11:32:53 · 2358 阅读 · 0 评论 -
Python——更换pip源
pip install torch:从境外下载模块,速度较慢pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch:从境内下载模块,速度较快原创 2022-01-13 15:50:47 · 212 阅读 · 0 评论 -
Python——全局变量与局部变量
在类中,局部变量赋值不会影响全局变量。class C1: def __init__(self): self.v1 = 100 def fun1(self): v1=200 print(v1) def fun2(self): print(self.v1)c1=C1()c1.fun1()c1.fun2()输出结果:200100原创 2021-12-03 18:06:07 · 770 阅读 · 0 评论 -
Python——类的实例化
在C1中实例化RefreshLabels,并将对象传递给C2和C3,当在C2中改变对象某一变量时,在C3中也可以得到该变量的最新值。class RefreshLabels: def __init__(self): self.rect_labels = []class C1: def __init__(self): self.c2 = C2() self.c3 = C3() self.refreshLabels = RefreshLabels() self.c2.refreshL原创 2021-12-02 11:13:05 · 491 阅读 · 0 评论 -
Python——super
class FooParent(object): def __init__(self): self.parent = 'I am the parent' print('Parent') def bar(self, message): print("%s from Parent" % message)class FooChild(FooParent): def __init__(self): # 找到FooChil原创 2021-11-15 18:28:19 · 785 阅读 · 0 评论 -
Python——获取屏幕任意位置像素值
import pyautoguiwhile True: x, y = pyautogui.position() print(pyautogui.screenshot().getpixel((x,y)))原创 2021-11-09 15:36:43 · 3184 阅读 · 0 评论 -
Python——获取不同级别目录
import os# 获取当前目录print(os.getcwd())# 获取上级目录print(os.path.abspath(os.path.join(os.getcwd(), "..")))# 获取上上级目录print(os.path.abspath(os.path.join(os.getcwd(), "../..")))# 获取上上上级目录print(os.path.abspath(os.path.join(os.getcwd(), "../../..")))运行结果:原创 2021-11-03 15:18:28 · 737 阅读 · 0 评论 -
Python——cmd常用命令
1、nvidia-smi:查看GPU型号、数量及使用率等信息原创 2021-10-09 16:44:31 · 446 阅读 · 0 评论 -
Python——pyinstaller使用技巧
1、最简用法pyinstaller main.py2、隐藏命令行窗口pyinstaller main.py --noconsole3、有些模块是通过__import__导入的,如PySide2.QtXml,pyinstaller无法检测到这些模块,因而无法打包进去,需要添加额外命令pyinstaller main.py --noconsole --hidden-import PySide2.QtXml4、为文件和应用程序添加图标pyinstaller main.py --noconsole -原创 2021-10-09 16:03:27 · 535 阅读 · 0 评论 -
Python——Auto Visit CSDN Blog
如果博主想提高自己博客的访问量,可以写一个自动访问的程序。需要考虑到以下几点:1、如果博主文章较多,则要考虑分页的情况;2、如果只想访问文章,则要利用正则表达式筛选链接;3、如果发现访问的文章多于自己发表的文章,则要去重;import requestsimport reimport timeheaders = { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "zh-CN,zh;q原创 2021-07-21 11:51:36 · 4887 阅读 · 0 评论 -
Python——tqdm与print互不影响
1、tqdm与print使用不同的流import sysimport tqdmimport timeprint('start')for i in tqdm.tqdm(range(10)): if i%2==0: print('\neven') else: print('\nodd') time.sleep(0.1)print('end')2、tqdm与print使用相同的流,file=sys.stdoutimport sysimport tqdmimport time原创 2021-07-19 15:13:46 · 6900 阅读 · 0 评论 -
Python——类的继承
1、子类可以调用父类的方法或属性。class Parent(): def hello(self): print('正在调用父类方法')# Child继承Parentclass Child(Parent): passp=Parent()p.hello()c=Child()c.hello()运行结果:正在调用父类方法正在调用父类方法2、如果子类中定义与父类同名的方法或属性,则会自动覆盖父类对应的方法或属性。class Parent(): def hello(self):原创 2021-07-15 10:01:48 · 5094 阅读 · 0 评论 -
Python——正则化匹配
1、正则化匹配’空格空格空格数字’,如果匹配成功,则ret不为空import osimport repath = 'files'results = ''for filename in os.listdir(path): filepath = os.path.join(path, filename) with open(filepath,'r') as f: lines = f.readlines() for line in lines:原创 2021-07-13 20:25:03 · 5763 阅读 · 0 评论 -
Python——设计原则
单一职责原则对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责(职责1和职责2),当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1和A2。总体来说,单一职责可以降低类的复杂度,一个类只负责一项职责;单一职责可以提高类的可读性,可维护性;单一职责可以降低变更引起的风险。通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则。接口隔离原则客户端不应该依赖它不需要的接口,即原创 2021-07-13 14:47:29 · 4993 阅读 · 0 评论 -
Python——多线程与多进程
1、多线程当有多个线程,并且在这个几个线程中都会去调用deposit,就有可能同时操作这个bank对象,就有可能出一个线程覆盖另外一个线程的结果的问题。这时,可以使用 threading库里面的锁对象 Lock 去保护。from threading import Thread,Lockfrom time import sleepbank = { 'byhy' : 0}bankLock = Lock()# 定义一个函数,作为新线程执行的入口函数def deposit(theadi原创 2021-07-13 13:00:48 · 4860 阅读 · 1 评论 -
Python——匿名函数lambda
有时候我们想使用一个函数,函数结构很简单,这时我们就想能不能不通过def的形式去定义,因为这样代码看起来复杂,而且还要为起名字绞尽脑汁,就像给自己孩子起名字一样,既要好听又要有意义。用匿名函数lambda就可以实现上述目的,举例如下:1、一个参数def形式In [1]: def odd(x): ...: return x%2 ...: for i in range(10): ...: print(odd(i)) ...:0101010101原创 2021-07-12 13:33:43 · 4994 阅读 · 0 评论 -
Python——anaconda安装
1、安装完成之后添加环境变量,在用户变量->path中添加如下内容:D:\Program\anaconda3D:\Program\anaconda3\ScriptsD:\Program\anaconda3\Library\binD:\Program\anaconda3\Library\mingw-w64\bin2、如果pip install opencv-python报错:ERROR: Could not find a version that satisfies the requireme原创 2021-07-09 14:29:57 · 4856 阅读 · 0 评论 -
Python——调用PostgreSQL
1、点击链接,下载PostgresSQL,然后安装(安装时locale选择C),并配置环境变量,在用户变量->path中添加D:\Program\PostgreSQL\13\bin和D:\Program\PostgreSQL\13\pgAdmin 4\bin,在系统变量->path中添加D:\Program\PostgreSQL\13\bin和D:\Program\PostgreSQL\13\pgAdmin 4\bin;2、在命令行输入pgAdmin4,进入PostgresSQL客户端,如下图原创 2021-07-07 15:39:11 · 5640 阅读 · 0 评论 -
Python——OCR识别
1、点击链接,下载tesseract,然后安装,并配置环境变量,在用户变量->path中添加D:\Program\Tesseract-OCR,在系统变量->path中添加D:\Program\Tesseract-OCR;2、在命令行输入tesseract test.jpg result,识别test.jpg,并将结果保存在result.txt之中;3、python调用OCR API,首先pip install pytesseract,然后运行如下代码,实现OCR识别import pytes原创 2021-07-07 00:10:45 · 7393 阅读 · 0 评论 -
Python——使用ipython
1、打开命令行窗口,运行pip install ipython,安装ipython,如果安装了anaconda,就不需要安装ipython 了,因为anaconda自带ipython;2、运行ipython,进入ipython窗口;3、命令前加叹号,可在当前窗口执行系统命令,如!ipconfig /all;4、按Tab键补全命令;5、运用*和?进行模糊查询,如6、运用?查询对象信息,如7、运用??查询函数代码,如...原创 2021-06-21 20:39:30 · 13224 阅读 · 12 评论 -
python——esc按键按下与识别
esc按键ASCII码为27,模拟按下esc按键代码如下:import win32apiimport timewin32api.keybd_event(27,0,0,0)time.sleep(0.1)win32api.keybd_event(27,0,2,0)识别esc按键按下代码如下:import win32apiwhile True: esc = win32api.GetKeyState(27) if esc<0: print('esc')...原创 2021-05-30 04:47:50 · 10551 阅读 · 1 评论 -
Python——调用C数组
1、运行collect工程中的Main.c,得到collect.dll;2、运行collect.py,调用Main.c中的数组指针;Main.c代码如下:#include <stdio.h>#include <time.h>#define DLLEXPORT extern _declspec(dllexport)DLLEXPORT int main(unsigned short* buffer, unsigned short row, unsigned short co原创 2021-05-24 20:10:43 · 5396 阅读 · 0 评论 -
python——识别键盘按下&模拟键盘按下
识别键盘按下import win32apiwhile True: E = win32api.GetKeyState(ord('E')) S = win32api.GetKeyState(ord('S')) C = win32api.GetKeyState(ord('C')) if E<0 and S<0 and C<0: print('ESC')模拟键盘按下import win32apiwin32api.keybd_event(ord('E'),0,0,0)w原创 2021-05-12 19:09:43 · 6901 阅读 · 0 评论 -
python——识别真实键盘按下&模拟键盘按下
一、PyUserInput安装python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中。在python3.5中,直接安装PyUserInput模块即可PyUserInput模块安装前需要安装pywin32和pyHook模块pywin32模块默认已安装pyHook模块可从这里下载http://www.lfd.uci.edu/~gohlke/pythonlibs/PyUserInput模块https://github.com/PyUserInput/PyU原创 2021-05-11 11:58:58 · 16399 阅读 · 0 评论 -
Python——使用google drive
1、登录google drive(https://drive.google.com/drive);2、点击网页左侧的New,选择Folder,新建文件夹;3、点击网页左侧的New,选择File upload,上传文件;4、点击网页左侧的New,选择Folder upload,上传文件夹;5、右击.ipynb文件,点击Open with,选择Google Colaboratory,可以打开并运行.ipynb文件;6、可以使用jupyter生成.ipynb文件,.ipynb文件主要功能包括:(1)原创 2021-03-30 18:35:26 · 7600 阅读 · 0 评论 -
Python——使用jupyter
1、安装anaconda时自动安装jupyter;2、先将命令行窗口定位到指定的文件夹,如D:\test,再执行命令jupyter notebook,jupyter网页自动弹出;3、点击网页右侧的New,选择python3,即可编辑Python代码,然后对文件重命名,如test,最后点击保存,在D:\test文件夹将出现test.ipynb;4、google drive类似于jupyter,也是执行.ipynb文件的;...原创 2021-03-29 22:50:34 · 5686 阅读 · 0 评论 -
Python——巧用随机数
随机数在编程中非常重要,有些场合不得不使用随机数,如创建1000个满足0~1正太分布的随机数;有些场合可以避开使用随机数,但人为设置的数字显得呆板,最后还是选择随机数。原创 2021-03-22 20:07:35 · 4935 阅读 · 3 评论 -
Python——字符串
1、变更文件路径中的后缀import ospath='D:/test/1.jpg'print(os.path.splitext(path)[0]+'.xml')运行结果:D:/test/1.xml2、获取文件路径中的目录部分import osdirname = os.path.dirname('D:/test/1.jpg')print(dirname)运行结果:D:/test...原创 2021-03-17 13:15:45 · 4784 阅读 · 0 评论