Python
文章平均质量分 70
Python 程序设计初级、中级、高级知识总结
沐 修
唯自由与理想不可辜负
展开
-
python 接口测试 request 模块的学习记录
allow_redirects:请求的重定向方式,可以是一个布尔值或字符串。verify:请求的SSL证书验证方式,可以是一个布尔值或字符串。data:请求的主体数据,可以是一个字典、字符串或文件对象。cookies:请求的Cookie信息,可以是一个字典。timeout:请求的超时时间,可以是一个整数或浮点数。params:请求的查询参数,可以是一个字典或字符串。headers:请求的头部信息,可以是一个字典。proxies:请求的代理信息,可以是一个字典。auth:请求的身份验证信息,可以是一个元组。原创 2023-09-14 15:35:21 · 135 阅读 · 0 评论 -
ValueError: Length mismatch: Expected axis has 40 elements, new values have 20 elements
解决方法:关键在于数据量和准备计算的数量有差别,比如 数据有 40 个,那么等下代码计算的也需要有 40 的数量,所以需要修改一下代码内 range(1,41),范围是 1 到 40 ,不取 41。原来是 range(1, 21),需要修改为 range(1, 41),如果是时间范围 range(1994, 2014) ,只有 修改为 range(1974, 2014)原创 2023-08-02 15:44:17 · 2195 阅读 · 0 评论 -
Linux - 运行 python 脚本时报错:Matplotlib is building the font cache; this may take a moment
缓存文件,但是删除缓存后,还是不行,不清楚具体是什么,但是第二天,脚本就可以正常运行了。原创 2023-08-02 09:47:31 · 1127 阅读 · 0 评论 -
psycopg2.errors.UndefinedColumn: column cons.consrc does not exist LINE 4: c
解决方法:(升级 sqlalchemy 模块版本)原创 2023-08-01 16:56:36 · 443 阅读 · 0 评论 -
linux系统安装psycopg2
python“趟坑”(一) —— linux系统安装psycopg2原创 2023-07-31 15:30:40 · 470 阅读 · 0 评论 -
使用pip config配置国内源时提示pip ERROR: unknown command “config“的解决办法
pip版本较低,不支持config方法。原创 2023-07-31 15:17:06 · 2875 阅读 · 0 评论 -
解决Font family [‘sans-serif’] not found问题
以下测试环境都是在 anaconda3 虚拟环境下执行。激活虚拟环境工具:WinSCP这里笔者使用 WinSCP 工具连接,编辑工具是。原创 2023-07-29 16:27:58 · 1690 阅读 · 0 评论 -
Linux - pip install 报错:ERROR: Command errored out with exit status 1: python setup.py egg_info
为 pip install 换源。原创 2023-07-25 16:37:33 · 604 阅读 · 0 评论 -
Linux - 关于如何在 bash 命令行中运行 anaconda3 的 python 虚拟环境
后面就是,python 脚本了。python 虚拟环境:(原创 2023-07-19 09:44:01 · 1487 阅读 · 0 评论 -
Anaconda3 安装python3.6 默认安装pip (9.0.1) 旧版本异常问题集锦 - 如何配置永久生效的 pip 国内镜像源
python3.6 是一个转折点,因为笔者发现 ≤ python3.6 的 anaconda3 安装都是默认安装,而 python3.6 以上 python 解释器版本都是已经是 20 几号的 pip 版本了,所以如此之大的版本差距,很容易出现各种版本问题,如。原创 2023-04-18 10:47:40 · 1377 阅读 · 0 评论 -
1 - 进程 - Windows 10 - Python - multiprocessing - 简单多进程切换、进程传参、异步进程、守护进程(进程睡眠/堵塞和线程堵塞的区别)、主/子进程区分
目录一、单进程二、多进程的实现三、多进程传参四、获取多进程 id 编号五、主进程会等待所有的子进程执行结束再结束。六、设置守护进程,当主进程结束时,子进程也不再继续执行,直接结束。七、关于多进程必须加上 `if __name__ == "__main__"` 的理由(进程区分):八、Jupyter Notebook 与 进程区分的关联九、关于多进程与GPU的关系一、单进程一般来说我们运行可执行文件,如脚本文件等,就相当于是在运行一个进程,系统会自动分配资源给这个文件运行,而这个进程就是父进程,或者说是原创 2022-04-18 17:27:07 · 2318 阅读 · 3 评论 -
4 - 线程 - Windows 10 - CPython - 理解伪多线程中 join() 线程连接点(主线程堵塞) 和 sleep() 线程睡眠 的作用
目录join() 的服务对象是子线程sleep()的服务对象是主线程和子线程场景 1:主线程 time 小于 子线程 timesleep() 方法:join() 方法:场景 2:主线程 time 大于 子线程 timejoin() 的服务对象是子线程sleep() 是time模块的一个函数,join()是线程模块 threading 的函数sleep()堵塞的是当前的线程,而join()堵塞的是主线程 main,也就是说用了 join() 函数,那么主线程就必须等到该线程执行程序结束为止,才能运行主线原创 2022-04-11 17:14:30 · 570 阅读 · 0 评论 -
1 - 线程 - Windows 10 - CPython 多线程总纲 - 杂货版
这里就不讲太多复杂的逻辑,直接就是总结,后面就解析,深挖。先讲线程。一个进程能有很多很多个线程线程之间是共享数据的,变量也是共享的,一样的内存地址在调用某一个相同的变量时,由于线程的共享,需要线程锁,为线程绑定该变量,不被其他线程修改,只有当最先获得线程锁的线程运行完且释放线程锁后,才可以被其他线程获得该线程锁。...原创 2022-04-15 17:34:20 · 182 阅读 · 0 评论 -
3 - 进程 - Windows 10 - Cpython - 多进程通信 - 队列Queue / 管道Pipe / 共享内存Share Memory(Value/Array) / Manager
目录一、简介:二、进程间交互对象 —— 不用加锁1. 消息队列(Queue)2. 管道(Pipe)半双工三、进程间同步 —— 需加锁,保证数据安全1. 共享内存 (share memory)一、简介:python的进程间通信主要有以下几种方式:消息队列(Queue)、管道(Pipe)、共享内存(Value,Array)、代理(Manager)。以上分为两个类型,进程间交互对象:消息队列(Queue)、管道(Pipe)进程间同步:共享内存(Value,Array)、代理(Manager)————原创 2022-04-20 14:34:35 · 2517 阅读 · 3 评论 -
5 - 线程 - Windows 10 - Python 的 5 种线程锁 - 控制线程切换
目录线程安全Tips线程的切换线程锁的基础核心构成总结1. Lock() 同步锁线程锁 - 同步锁的实现方法with 关键字 - 上下文管理器 - 同步锁死锁现象2. RLock() 递归锁简介线程锁 - 递归锁的实现方法with 关键字 - 上下文管理器 - 递归锁3. Condition() 条件锁条件锁调用 —— 必上递归锁的 wait() 与 notify()线程锁 - 条件锁的实现方法with 关键字 - 上下文管理器 - 条件锁4. Event() 事件锁基本介绍线程锁 - 事件锁的实现方法事原创 2022-04-18 10:00:45 · 2443 阅读 · 0 评论 -
3 - 线程 - Windows 10 - Python - 守护线程 / 后台线程 / 精灵线程
目录守护线程 / 后台线程 / 精灵线程创建精灵线程的方法守护线程 / 后台线程 / 精灵线程首先讲解守护线程。有一种线程,它是在后台运行的,它的任务是为其他线程提供服务,这种线程被称为“后台线程(Daemon Thread)”,又称为“守护线程”或“精灵线程”。Python 解释器的垃圾回收线程就是典型的后台线程。后台线程有一个特征,如果所有的前台线程都死亡了,那么后台线程会自动死亡。用 python 的 Threading 模块调用 Thread 对象的 daemon属性可以将指定线程设原创 2022-04-15 16:33:21 · 959 阅读 · 0 评论 -
2 - 线程 - Windows 10 - CPython 解释器 - 多线程并行(实际并发)
目录一、线程和进程介绍进程基本概念线程基本概念面向线程设计的系统内部解析线程的切换 —— 并行join() 的服务对象是子线程sleep()的服务对象是主线程和子线程一、线程和进程介绍进程基本概念进程(Process),是计算机中已运行程序的实体,曾经是分时系统的基本运作单位。在面向进程设计的系统(如早期的Unix、Linux2.4及更早的版本)中,进程是程序的基本执行实体;在面向线程设计的系统(如当代多数操作系统、Linux2.6及更新的版本)中,进程本身不是基本运行单位,而是线程的容器。程序原创 2022-04-11 11:21:13 · 493 阅读 · 0 评论 -
2 -进程-Windows 10 -Python - multiprocessing 两种方法实现多进程 - 进程池 / 简单Process / -守护进程堵塞join 与 sleep()线程睡眠堵塞
目录一、进程池进程池 map() 和 imap() 方法的实现进程池 apply_async() 的实现二、简单 Process 方法三、进程堵塞 join 理解四、进程的 sleep() 线程睡眠理解一、进程池其实在使用多进程的时候,感觉使用pool是最方便的,在多线程中是不存在pool的。在使用pool的时候,可以限制每次的进程数,也就是剩余的进程是在排队,而只有在设定的数量的进程在运行,在默认的情况下,进程是cpu的个数,也就是根据multiprocessing.cpu_count()得出的结原创 2022-04-19 11:32:19 · 1543 阅读 · 0 评论 -
Python - Windows / Linux 关于 Ctypes 和 Python C API 的理解
在笔者看来,Ctypes 可以很好的用于 Windows 和 Linux 操作系统,但是 python C API 却是只能适用于 Linux 操作系统,这一点笔者经过细致实验,发现 Windows 的 C api 实在是很不友好,无法做到通用文件(适用 Linux 操作系统),这对于在 Windows 系统开发,Linux 上线的开发人员来说,挺不方便的。原创 2023-03-24 15:34:36 · 73 阅读 · 0 评论 -
Window10 - Python 64位 与 C-API 报错 OSError: [WinError 193] %1 不是有效的 Win32 应用程序 - 无法解决,只能切换 python 32 位
需要注意的是,这样切换环境对于已经安装的python没有任何影响,即原先是64位的python,现在还是64位,所以需要切换到32位后再安装python,并且安装需要在prompt下进行,在navigator里新建的python默认是64位的。必须是在 32 位的 anaconda3 平台创建虚拟环境,如果之前是 64 位的anaconda3 平台创建的虚拟环境,那么所有的虚拟环境的 python 解释器都是默认 64 位的。原创 2023-03-15 16:20:47 · 717 阅读 · 0 评论 -
Centos 7 安装mysqlclient - pip install mysqlclient 解决方法
终端命令:(安装mysqlclient配置)原创 2022-10-20 19:53:48 · 1604 阅读 · 1 评论 -
Linux - Django + Nginx + uWSGI 部署项目 - 安装 Python3.x -(2)
具体操作如下:这里的。原创 2022-08-29 15:10:10 · 932 阅读 · 0 评论 -
Python - 链式调用 - Black 代码格式化工具 -
目录链式调用缓存链式调用的参数Black 格式化工具与链式调用的发现测试环境:Windows 10python 3.7.2工具: Pycharm链式调用在学习某一个新的模块时,看到了链式调用这一操作,查找了一下资料,还真是像钟馗的钩一样,一条锁链钩五杀(开玩笑呢,不过真有这种大佬吗?)。言归正传,链式,本质上回传的是一个对象化实例,这有点像装饰器啊!装饰器回传的是函数对象,但其实都一样的,函数是对象,类对象也是对象,没差。所谓链式调用就是调用完一个函数后还能再继续调用其它函数,这样大大减原创 2022-04-29 18:25:18 · 885 阅读 · 0 评论 -
Windows 10 - Python - 线程 - 重定向重构方法
近期在学习 Python 多线程多进程,发现了挺多有趣的东西,结合偶然间独自在测试中的奇妙发现,用一种自我命名的方法来命名这个发现,或者说是方法 —— 重定向重构方法,当然也不清楚是否有人已经发现这个有趣的方法,如果有谁知道的话,可以劳烦告知更多有关于这个方法的事情,非常感谢。首先,要知道这个有趣的方法,先要知道在 Python 内,是可以实现多个函数重名重参的,假设两个重名重参的中间没有其他调用第一个函数的代码,而在第二个方法后,调用了第二个方法,那么解释器就会指向下一个函数,也就是说 第一个 函数.原创 2022-04-15 15:42:28 · 644 阅读 · 0 评论 -
Windows 10 - Python 居然可以定义 同名同参的函数 / 方法 - 惊奇的发现
在往常的代码测试中突然发现了,在一个python程序中,定义了两个有相同名字且参数一致的函数,运行一下python程序后,发现可以运行成功,后面被这个发现给弄懵了,我前面做的测试到底是什么鬼?我做的测试难道都废了,真就无语了。下面就来看下测试,研究下这个惊奇的发现。测试代码:def test(): print("This is test1") def test(): print("This is test2") test()test()运行结果:其原创 2022-04-15 11:55:56 · 1259 阅读 · 0 评论 -
1 - Windows 10 - Python 类的常用高级系统函数(方法)通识
类的系统函数目录系统函数__init__() 初始化系统函数__call__() 调用对象函数系统函数__dict__类属性查询函数系统函数__init__() 初始化使用该__init__()类系统方法可以在创建类的实例化对象时,可以初始化对象 —— 传递参数(该类的全局变量),参数可以是函数对象,也可以是各种数据类型的变量eg:# test.pyclass System_Function: def __init__(self, function_or_varible):原创 2022-04-20 15:39:12 · 508 阅读 · 0 评论 -
Windows 10 - Python 装饰器
目录如何理解函数作为Python 装饰器的参数理解装饰器的返回值装饰带参数的函数装饰多参数的函数关于函数装饰器可以嵌套的问题理解装饰器间的嵌套:装饰器的运行逻辑:如何理解函数作为Python 装饰器的参数理解 Python 装饰器,首先要先知道 Python 的函数可以嵌套的,返回值也是一个非常绕的情况,那么下面就用例子来帮助快速理解装饰器的具体的情况。#funA 作为装饰器函数def funA(fn): #... fn() # 执行传入的fn参数 #... retu原创 2022-04-04 00:09:35 · 462 阅读 · 0 评论 -
关于 python 的 * (未知数量参数传参)和 ** (关键字参数) 的理解与运用
下面就用惯例 *args 和 **kwargs 来代表所有的 * 和 **为什么叫所有,因为只要是任意合法的变量加上 * 或 **就可以是,所谓的 *args 和 **kwargs可以是 *testargs 或 ** testkwargs也可以是 *aa 或 ** bb在使用 *args 和 ** kwargs 前,先去理解它的英文意思*args —— arguments / args n. [计算机]参数 (复数) ; 参数**kwargs —— key word arg.原创 2022-03-11 17:12:04 · 1886 阅读 · 0 评论 -
Python 过滤器方法 filter和map 的理解
filter和map是python中常常被使用的两个方法。这两个方法的使用方法很相似:相同点: 1. 第一个参数都是一个函数 2. 第二个参数是一个可迭代序列 3. 返回可迭代对象不同点: 1. filter的第一个参数是函数,这个函数是用来判断条件的 2. map的第一个函数也是函数,但这个函数是用来做映射的。mapa = [3,4,1,2,54,6]b = list(map(lambda x: x**2,a))print(b)# [9, 16, 1,原创 2022-02-21 23:12:48 · 2686 阅读 · 0 评论