![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python学习
文章平均质量分 55
Python学习过程记录
joker_zsl
人生的意义是什么?让别人不用走自己曾走过的弯路,大概也算是吧。
展开
-
使用miniconda管理Python环境
之前经常使用pipenv管理虚拟环境,但是有一个问题就是代码给别人使用的时候,别人使用的Python版本和自己的不一致时,安装依赖包的时候会有问题。所以现在使用miniconda来管理虚拟环境,不仅小巧方便,还能为每个环境指定不同的Python解释器版本。原创 2024-02-17 12:54:24 · 343 阅读 · 0 评论 -
利用pytesseract进行图片文字识别
pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格式。安装pip install pytesseract 使用这里只简单介绍识别图中文字并输出字符串,有兴趣的同学可以自行探索更多的方法。from PIL import Imagefrom pytesseract import *img = Image.open('test.png原创 2022-02-18 14:05:17 · 2560 阅读 · 0 评论 -
pip安装mysqlclient报错的解决
Windows 环境下安装python包经常会有各种环境方面的问题及报错。 最近在python36/37下升级安装mysqlclient包时产生了下面的错误,不论是百度还是Stack Overflow上查找都没有真正的解决方案,于是写文章与大家一起分享下这类报错的解决方法。报错信息:Building wheels for collected packages: mysqlclient Running setup.py bdist_wheel for mysqlclient ... error转载 2022-02-16 15:38:30 · 5758 阅读 · 0 评论 -
python中的枚举类应用
开发中经常会用到枚举,比如定义一些状态码,那该如何实现呢?最先想到的应该是字典:status = { "OK": (0, "成功"), "ERROR": (-1, "失败")}使用时这么取用:data = { "code": status.get("OK")[0], "msg": status.get("OK")[1]}这样实现,用起来不方便,写起来也不够优雅。 我们可以用枚举类(Enum)来更好的实现它。from enum import E原创 2022-02-15 15:47:35 · 486 阅读 · 0 评论 -
TypeError: Object of type XXX is not JSON serializable
JSON在处理dict转json时,有时会因为字典中键值对的字段类型不是JSON序列化内置的类型导致序列化错误。如下面的例子:处理Decimal类型时出现TypeError: Object of type Decimal is not JSON serializable。此时在序列化时指明处理的规则即可,我们需要重写json.JSONEncoder的default方法。...原创 2021-10-08 10:52:25 · 585 阅读 · 0 评论 -
Python基础:字符串操作
1、字符串的格式化输出1.1、使用转换说明符%s(根据要转换的数据类型不同,有%d、%f等)>>> format = "hello, %s">>> values = 'world'>>> format % values'hello, world'1.2、使用字符串方法format>>> "{}, {} and {}".format("one", "two", "three")'one, two and thr原创 2020-06-21 19:09:26 · 283 阅读 · 1 评论 -
Python基础:列表操作
1、函数listlist()可以将任何序列转换为列表>>> list('hello')['h', 'e', 'l', 'l', 'o']2、列表的基本操作列表可以执行所有标准序列操作,如索引、切片、拼接和相乘。2.1、通过索引给特定位置的元素赋值>>> x = [1, 1, 1]>>> x[1] = 2>>> x[1, 2, 1]2.2、删除元素>>> names = [.原创 2020-06-20 23:17:04 · 442 阅读 · 0 评论 -
Python:装饰器与闭包
python中的装饰器真的是个很难理解的概念,以下只是我在学习过程中的一点浅见,学习交流。1 闭包在谈装饰器之前,不得不说一下闭包的概念。什么是闭包呢?维基百科上是这么讲的——在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。简直不像人话。我们通过一小段代码来感受一下闭包:def foo(.原创 2020-05-12 18:26:20 · 201 阅读 · 1 评论 -
Python:可迭代对象、迭代器、生成器
0 前言在讨论可迭代对象和迭代器之前,我们先来了解一下什么是迭代器:迭代器是一种最简单也最常见的设计模式。它可以让用户透过特定的接口巡访容器中的每一个元素而不用了解底层的实现。 ...原创 2020-05-11 11:35:25 · 192 阅读 · 0 评论 -
Python:生成器浅见
Python中有些重要的概念,如生成器(generator),迭代器(iterator),装饰器(decorator),用官方的解释比较难理解,这里尝试在使用中加深对它们的认知。原创 2021-02-27 18:14:19 · 175 阅读 · 2 评论 -
从深层嵌套的JSON中获取到指定的key和value
开发过程中,数据处理经常会遇到需要从JSON中取值的情况。对应结构简单的JSON,我们可以像字典那样获取到想要的值;对于结构复杂的多层嵌套的JSON,知道要取值的key的‘路径’的话,也可以使用一些三方库(如jsonpath)来优雅的取到想要的值;但是当我们只知道要取值的key,但是不知道这个key在JSON中具体的‘路径’,该如何获取到想要的值呢?也许网上有现成的轮子来从深层嵌套的JSON中获取到特定key的value,可惜我不知道,如果有知道的朋友还请评论区留言分享下。现在我们来自己造个轮子。原创 2021-02-27 13:30:52 · 6911 阅读 · 1 评论 -
Python虚拟环境管理:pipenv
开发过程中,可能会遇到同时在不同的环境中开发的情况,不同的解释权版本、不同的依赖库版本等等。这时候我们需要一个工具来帮我们管理不同的环境,pipenv就是这么一个优秀的库。pipenv 是集virtualenv, pip, pipfile为一身的管理虚拟环境模块。与virtualenv一样,pipenv可以创建一个单独的虚拟环境作为开发环境。pipenv会把用pipenv install的模块与版本号自动记录到Pipfile与Pipfile.lock中,方便同步环境。安装pip install原创 2021-03-20 22:04:13 · 215 阅读 · 0 评论 -
cx-Oracle读取cx_Oracle.LOB类型数据
什么是LOB类型数据在ORACLE数据库中,LOB(Large Objects(大对象))是用来存储大量的二进制和文本数据的一种数据类型。在 Oracle8i 中开始提供 LOB 字段,在 Oracle10g 前最多只能存储 4G 数据,从 Oracle10g 开始,可以存储 8-128T 的数据,取决于你的数据库的块大小。LOB又分为两种类型:内部LOB类型:将数据以字节流的形式存储在数据库的内部。因而,内部LOB的许多操作都可以参与事务,也可以像处理普通数据一样对其进行备份和恢复操作。如:原创 2020-12-03 15:02:44 · 2766 阅读 · 0 评论 -
cx-Oracle的使用及常见报错处理
python操作Oracle数据库不如操作MySQL方便,使用pymysql可以很容易的连接上MySQL数据库,但是使用cx-Oracle连接Oracle数据库需要注意python解释器、cx-Oracle以及Oracle Client位数版本要一致。1、统一python、cx_oracle、Oracle Client位数检查python版本:在CMD通过python命令查看python版本选择合适的cx-Oracle库:可以在这里找到合适的版本 https://www.lfd.uci.e.原创 2020-10-10 14:22:22 · 2093 阅读 · 0 评论