
Python
文章平均质量分 54
Python
u013250861
这个作者很懒,什么都没留下…
展开
-
Plotly : 超好用的Python可视化工具
Plotly是一个通用且功能强大的Python数据可视化库。本文介绍了一系列高级示例,展示了各种绘图类型和交互功能。请尝试使用所提供的代码示例,深入了解Plotly的功能,提高大家数据可视化的技能。原创 2024-07-23 00:46:57 · 897 阅读 · 0 评论 -
Scrapy爬虫框架实战
Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。原创 2024-07-06 12:39:50 · 709 阅读 · 0 评论 -
Python常用函数:在py文件中添加项目跟路径【sys.path.append(‘/******/项目跟路径‘)】
sys.path.append('/******/项目跟路径')原创 2023-12-26 01:38:17 · 649 阅读 · 0 评论 -
Flask-部署-wsgi服务:Gunicorn
Gunicorn是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务组件(WSGI: Web Server Gateway Interface),移植自Ruby的独角兽(Unicorn )项目,具有使用非常简单,轻量级的资源消耗,以及高性能等特点.在项目中, Gunicorn和Flask框架一同使用, 能够开启服务, 处理请求,因其高性能的特点能够有效减少服务丢包率.原创 2022-12-22 16:19:37 · 710 阅读 · 0 评论 -
Gunicorn部署Flask
Gunicorn是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务组件(WSGI: Web Server Gateway Interface),移植自Ruby的独角兽(Unicorn )项目,具有使用非常简单,轻量级的资源消耗,以及高性能等特点.在项目中, Gunicorn和Flask框架一同使用, 能够开启服务, 处理请求,因其高性能的特点能够有效减少服务丢包率.原创 2022-12-17 20:44:49 · 618 阅读 · 0 评论 -
Flask打开调试模式
支持本地开发,但是每次修改代码后需要手动重新启动程序,这不是很友好,事实上Flask支持调试模式来做到更好,Flask服务会在代码更改时自动重新加载,如果出现问题,还能提供调试器以供调试。原创 2022-12-17 21:16:20 · 595 阅读 · 0 评论 -
vscode之python框架flask 断点调试的配置(官方推荐的配置,务必注意端口)
【代码】vscode之python框架flask 断点调试的配置(官方推荐的配置,务必注意端口)原创 2022-12-17 21:17:36 · 1189 阅读 · 0 评论 -
python如何读取parquet文件中的每一行每一列内容
它具有高效的压缩比和快速的读取性能,因此在处理大型数据集时非常有用。Python提供了多种方法来读取和处理Parquet文件,本文将介绍如何使用Python读取Parquet文件中的每一行每一列内容。在每个row group中,我们可以通过索引访问每一行的数据,并进行进一步处理。方法逐行读取文件,并通过索引访问每一行的数据。在处理每一行数据时,我们还可以使用。在读取Parquet文件时,我们也可以访问每一列的数据。方法读取整个文件内容。类打开Parquet文件,然后使用。方法来读取整个文件内容,或使用。原创 2023-09-19 20:33:52 · 10302 阅读 · 0 评论 -
Python多任务执行:进程【①多进程执行顺序是无序的,由操作系统调度】、线程【①多线程执行顺序是无序的,由CPU调度;②主线程会等所有子线程执行结束后再结束;③线程间共享全局变量;④互斥锁;⑤死锁】
在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。前面我们使用进程执行的任务是没有参数的,假如我们使用进程执行的任务带有参数,如何给函数传参呢?args 表示以元组的方式给执行任务传参kwargs 表示以字典方式给执行任务传参进程之间不共享全局变量主进程会等待所有的子进程执行结束再结束在Python中,想要实现多任务除了使用进程,还可以使用线程来完成,线程是实现多任务的另外一种方式。原创 2023-09-09 22:25:27 · 501 阅读 · 0 评论 -
Python-多任务的执行方式(一):并发(任务数量>CPU核数)、并行(任务数量≤CPU核数)
Python-多任务的执行方式:并发(任务数量>CPU核数)、并行(任务数量≤CPU核数)原创 2023-09-09 21:12:20 · 156 阅读 · 0 评论 -
常用Python PDF库对比
2022.06.07修订:新增第三方库borb。初稿写于2021.01.02,彼时borb才发布1.0版没几个月;两年不到,Github上已近三千赞。PDF(Portable Document Format)是一种便携文档格式,便于跨操作系统传播文档。PDF文档遵循标准格式,因此存在很多可以操作PDF文档的工具,Python自然也不例外。面多众多的Python,本文从功能、开源协议及社区活跃度三方面加以对比,以便根据具体需求选择合适的库。原创 2023-07-08 11:22:03 · 1024 阅读 · 0 评论 -
Apscheduler:定时任务框架【提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务;基于这些功能,我们可以很方便的实现一个python定时任务系统】
APScheduler基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便;提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务;基于这些功能,我们可以很方便的实现一个python定时任务系统。原创 2023-05-29 20:16:05 · 2212 阅读 · 0 评论 -
Python:分割all_data.txt---->train_data.txt、val_data.txt、test_data.txt
共312215行,选80%作为训练集、10%作为验证集、10%作为测试集。原创 2023-01-29 14:56:07 · 371 阅读 · 0 评论 -
Python函数:isinstance()【判断一个对象是否是一个已知的类型,类似 type()】【isinstance (a,int)】【isinstance (a,(str,int,list))】
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。需要注意的是第三个小例子,a的类型只要是元组中的一个就会返回True。isinstance() 会认为子类是一种父类类型,考虑继承关系。如果要判断两个类型是否相同推荐使用 isinstance()。下面从用途描述、使用方法、案例分析、三个方面进行讲解。type() 不会认为子类是一种父类类型,不考虑继承关系。原创 2023-01-12 15:11:49 · 125 阅读 · 0 评论 -
Python数据序列化:json.dumps中文乱码
原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成ascii编码了。英文字符能正常显示可读字符。解决办法加上 ensure_ascii=False。原创 2023-01-05 15:49:09 · 1856 阅读 · 0 评论 -
Python安装第三方库(pip/conda、easy_install、setup.py)
用过C平台的都知道,安装C平台依赖的时候一般会用到cmake软件,这种是用来编译的,把库编译为系统可以运行的代码。这里大概也一样,就是把获得的带有setup.py的文件编译后,生成系统可以用的包。后来在一个文章指引下,才知道安装visual cpp build tools就看可以解决,当然也需要至少4G的空间,不过安装过程很简便,不用VS软件的话,比较推荐用这个。随着自己安装的库越来越多,才知道,哦,原来这种文件夹相当于是个人做出来的第三方库包,可以安装在python上用的。安装不难,就不细讲了。原创 2022-12-30 16:46:31 · 2596 阅读 · 0 评论 -
Linux:安装python
1、默认情况下,Linux会自带安装。原创 2022-11-12 17:58:39 · 258 阅读 · 0 评论 -
python进程通信-方式01:管道与信号量
一个独立进程不受其他进程执行的影响,而一个协作进程可能会受到其他执行进程的影响,尽管可以认为那些独立运行的进程将非常高效地执行,但实际上,在许多情况下,可以利用合作性质来提高计算速度,便利性和模块化。进程间通信(IPC)是一种机制,允许进程彼此通信并同步其动作。这些过程之间的通信可以看作是它们之间进行合作的一种方法。下面就对上面列举的方式在python中进行逐个说明,可能我理解的内容与理论有些出入,因为我是从实际使用上总结,欢迎私信或者评论。原创 2022-10-19 19:05:38 · 210 阅读 · 0 评论 -
Python:多线程【GIL/全局解释器锁】【Python为解决多线程之间数据完整性和状态同步的问题,在任意时刻只能由一个线程在解释器中运行】【Python的多线程是表面上的多线程,不是真正的多线程】
GIL的全称是Global Interpreter Lock(全局解释器锁),Python最初的设计理念在于,为了解决多线程之间数据完整性和状态同步的问题,设计为在任意时刻只能由一个线程在解释器中运行。因此Python中的多线程是表面上的多线程(同一时刻只有一个线程),不是真正的多线程。......原创 2022-08-25 22:45:39 · 424 阅读 · 0 评论 -
Poetry:Python依赖管理和打包工具【最好用的Python虚拟环境Poetry】【Poetry、conda、vscode混合使用】
Poetry 是 一个 Python 依赖管理和打包工具。它允许您声明项目所依赖的库,并将为您管理(安装/更新)它们。官网:官方推荐使用官方安装脚本,位于:https://python-poetry.org/docs/。注意: get-poetry.py 脚本将在 Poetry 1.2 中被 install-poetry.py 替代,建议直接使用最新版本的安装脚本。方法是在顶部的版本选择下拉框中选择 master。.....................原创 2022-08-04 16:24:29 · 1923 阅读 · 0 评论 -
Python:基于hydra库实现yaml配置文件的读取(支持命令行参数)
argparse库的使用较为方便。但是应对参数较多的场景时,在命令行里修改参数就变得较为麻烦。因此转向了对配置文件的使用,yaml是一个开放性的配置文件格式。使用yaml库加载不支持命令行参数,使用hydra库加载配置文件时可以支持命令行参数(实现对默认配置的新增、修改与删除)。hydra对于yaml配置文件中支持的格式有str、int、float、bool、list这5种格式,完全满足一般项目的基本配置了。...原创 2022-07-26 23:57:53 · 873 阅读 · 0 评论 -
Python常用函数:getattr()【获取属性值】、setattr()【设置属性值】
setattr()函数对应函数getattr(),用于设置属性值,该属性不一定是存在的。返回值无。原创 2022-07-21 20:26:45 · 430 阅读 · 0 评论 -
37 个 Python Web 开发框架总结
Q:Web 框架到底是什么?A:Web 框架主要用于网站开发。开发者在基于 Web 框架实现自己的业务逻辑。Web 框架实现了很多功能,为实现业务逻辑提供了一套通用方法。Q:Web 框架有什么作用?A:使用 Web 框架,很多的业务逻辑外的功能不需要自己再去完善,而是使用框架已有的功能就可以。Web 框架使得在进行 网站开发的时候,减少了工作量。Q:我们为什么要使用 Web 框架?A:Web 框架主要用于网站开发,可以实现数据的交互和业务功能的完善。使用 Web 框架进行 网站开发的时候,在进行数据缓存、数原创 2022-06-07 16:49:13 · 281 阅读 · 0 评论 -
Python:web.py框架 无法正常打开0.0.0.0:8080网页
最近意外用到了web.py框架,才发现这家伙比Django还轻量,还简洁。但是开局就碰到了问题。上面是官网提供的初始代码,运行后显示默认网址:http://0.0.0.0:8080/可是我发现我根本无法访问,起初以为是谷歌浏览器限制权限的问题,但是发现IE也无法访问。web.py框架不算流行,网上的资料真是少之又少,未能解决我的问题。然后我想到之前学web开发,无论是Django还是SpringBoot,所提供的默认IP都是127.0.0.1,于是我决定修改源代码。不得不说web.py实在是太简洁了,就那原创 2022-06-07 16:00:02 · 781 阅读 · 0 评论 -
Python函数参数前的星号(*)(**)【*params用来接受任意多个参数并将其放在一个元组中】【 **params用于接收k=v形式的多个实参放入字典中(即把该函数的参数转换为字典)】
参数前面加上号 ,意味着参数的个数不止一个,另外带一个星号()参数的函数传入的参数存储为一个元组(tuple),带两个(*)号则是表示字典(dict)def t1(param1, *param2): print(param1) print(param2)t1(1,2,3,4)# 1# (2,3,4)def t2(param1, **param2): print param1 print param2t2(1,a=2,b=3)原创 2022-05-28 11:26:32 · 495 阅读 · 0 评论 -
Python函数中的省略号(...)【①、类型提示;②、函数内部,相当于pass;③、numpy中的索引】【很多Python库的源码中有很多省略号来防止源码泄露,在别的地方用Python或C++重写】
省略号(…)在Python有着广泛的应用,尤其是一些底层代码中,经常能看到大量的省略号(…)。如下图所示就是type这个类的底层代码,可以看到非常多的省略号(…)。很多Python第三方库的源码中有很多省略号,就是为了不让别人看到源码,让用户看到的都是带有省略号的函数,而真正实现功能的函数是在别的地方用Python或C++重写来覆盖当前的函数。def method_a(a:..., b:...): ...def method_a(a:..., b:...)->...: ...一、省略原创 2022-05-28 11:17:04 · 1219 阅读 · 0 评论 -
Python常用函数:os.path.join(path1[, path2[, …]])【把目录和文件名合成一个路径】【好处是跨平台,比如windows要求\和/,而linux必须是/】
# -*- coding: utf-8 -*-import sysimport osimport pathlib# 当我们导入某个模块文件时, Python 解释器去哪里找这个文件呢?只有找到这个文件才能读取、装载运行该模块文件。abs_path = pathlib.Path(__file__).parent.absolute()sys.path.append(sys.path.append(abs_path)) # sys.path.append()临时添加的目录json_path原创 2022-05-28 10:55:43 · 291 阅读 · 0 评论 -
python装饰器
一、概述1、什么是装饰器器指的是工具,可以定义成成函数装饰指的是为其他事物添加额外的东西点缀合到一起的解释:装饰器指的定义一个函数,该函数是用来为其他函数添加额外的功能就是拓展原来函数功能的一种函数2、为何要用装饰器开放封闭原则开放:指的是对拓展功能是开放的封闭:指的是对修改源代码是封闭的装饰器就是在不修改被装饰器对象源代码以及调用方式的前提下为被装饰对象添加新功能3、如何用# 需求:在不修改index函数的源代码以及调用方式的前提下为其添加统计运行时间的功能def in原创 2022-05-28 10:39:18 · 105 阅读 · 0 评论 -
Python常用函数:os.getenv()【用途:获取环境变量键的值(存在),否则返回默认值】
用途:获取环境变量键的值(存在),否则返回默认值环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。通俗理解为:一些被指定的文件夹路径,目的是为了更快速方便的找到想要的文件和文件夹。用法:os.getenv(key, default = None)参数key:表示环境变量名称的字符串default (可选):表示 key 不存在时默认值的字符串。如果省略,则默认设置为“无”。返回类型:此方法返回一个字符串,该字符串表示环境变量键的值。如果 key原创 2022-05-19 23:22:05 · 35871 阅读 · 0 评论 -
Python常用函数:os.makedirs()【用于递归创建目录】
Python中的OS模块提供了与操作系统进行交互的函数。操作系统属于Python的标准实用程序模块。该模块提供了使用依赖于操作系统的函数的便携式方法。如果文件名和路径无效或无法访问,或者其他类型正确但操作系统不接受的参数,则os模块中的所有函数都会引发OSError。os.makedirs()Python中的方法用于递归创建目录。这意味着在创建叶子目录时,如果缺少任何intermediate-level目录,os.makedirs()方法将全部创建。例如,考虑以下路径:/home/User/Docu原创 2022-05-19 17:27:14 · 6189 阅读 · 0 评论 -
Python中自动生成requirements.txt 及 安装requirements.txt依赖
equirements.txt 说明requirements.txt文件记录了当前程序的所有依赖包及其精确版本号其作用是用来在另一台PC上重新构建项目所需要的运行环境依赖。自动生成自动生成依赖文件 requirements.txt,导出到当前路径pip freeze > requirements.txt安装依赖切换到目录下执行pip install -r requirements.txt...原创 2022-05-06 22:48:45 · 1145 阅读 · 0 评论 -
Python常用函数:splitlines()【按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,返回一个包含各行作为元素的列表】
Python splitlines() 按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。splitlines()方法语法:str.splitlines([keepends])返回一个包含各行作为元素的列表。参数keepends – 在输出结果里是否保留换行符(‘\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。#!/原创 2022-05-05 20:29:05 · 719 阅读 · 0 评论 -
Python常用函数:@staticmethod、@classmethod
一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。既然@staticmethod和@classmethod都可以直接类名.方法名()来调用,那他们有什么区别呢?从它们的使用上来看:@staticmethod不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。@classmeth原创 2022-05-04 20:55:27 · 204 阅读 · 0 评论 -
Python标准库:codecs【专门做编码转换】【open()、encode()、decode()、lookup()、getencoder()】【读写文件codecs.open()优于open()】
codecs专门用作编码转换,当我们要做编码转换的时候可以借助codecs很简单的进行编码转换codecs模块提供一个open方法,三个参数encoding, errors, buffering,这三个参数都是可选参数,但是对于应用来说,需要明确指定encoding的值,而errors和buffering使用默认值即可。原创 2022-05-04 19:35:46 · 6304 阅读 · 0 评论 -
Python常用函数:any() 【用于判断给定的可迭代参数是否全部为False;如果有一个为True,则返回True,否则返回False】【元素除了是0、空、FALSE外都算TRUE】
在python中,如果想要判断一个tuple或者list是否全部为空、0、False,可以使用any函数。使用any函数,当全为空、0、False,会返回False;当不全为空、0、False,会返回True。本文将主要介绍any函数的用法。如果iterable的任何一个元素为true,则返回true。如果iterable为空,则返回false。语法:any(iterable)result01 = any(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0resul原创 2022-05-04 11:07:21 · 1565 阅读 · 0 评论 -
Python:可迭代对象、迭代器【可迭代对象:实现__iter__方法】、【迭代器:实现__next__和__iter__两个方法】【“迭代器”一定是“可迭代对象”,“可迭代对象”不一定是“迭代器”】
一、什么是迭代器迭代是Python中访问集合元素的一种非常强大的一种方式。迭代器是一个可以记住遍历位置的对象,因此不会像列表那样一次性全部生成,而是可以等到用的时候才生成,因此节省了大量的内存资源。迭代器对象从集合中的第一个元素开始访问,直到所有元素被访问完。迭代器有两个方法:iter()和next()方法。二、可迭代的对象类似于list、tuple、str等类型的数据可以使用for…in…的循环遍历语法从其中依次拿到数据并进行使用,我们把这个过程称为遍历(迭代)。Python中可以迭代的对象有原创 2022-05-03 23:11:25 · 1100 阅读 · 0 评论 -
Python标准库:importlib【import_module()、reload()、machinery()、invalidate_caches()、find_loader()、util()】
Python提供了importlib包作为标准库的一部分。目的就是提供Python中import语句的实现(以及__import__函数)。另外,importlib允许程序员创建他们自定义的对象,可用于引入过程(也称为importer)。这个模块有些复杂,因此我们在这篇博文中主要讨论以下几个主题:动态引入检查模块是否可以被引入引入源文件自身第三方模块 import_from_github_com一、动态导入importlib模块支持传递字符串来导入模块。我们先来创建一些简单模块一遍演原创 2022-05-03 21:04:58 · 896 阅读 · 0 评论 -
python:类的继承及初始化
一、类的继承类的继承格式为:class 新类(旧类),新类就可以继承旧类的所有类方法,并可以定制新的方法甚至覆盖旧类的方法。二、类的初始化初始化函数的意思是,当你创建一个实例的时候,这个函数就会被调用。初始化函数的写法是固定的格式:中间是“init”,这个单词的中文意思是“初始化”,然后前后都要有【两个下划线】,然后__init__()的括号中,第一个参数一定要写上self,不然会报错。1、类的初始化:方式①【推荐】# encoding: utf-8class CBASE1(object):原创 2022-05-03 17:21:35 · 6091 阅读 · 0 评论 -
python按行分割文件:python 划分数据集文件(txt标签文件按比例随机切分)
import osimport randomclass SplitFiles(): """按行分割文件""" def __init__(self, file_name): """初始化要分割的源文件名和分割后的文件行数""" self.file_name = file_name def get_random(self): """生成随机数组,随机划分 (0,190001)txt标签行数, 7600测试集标签行数"""原创 2022-05-01 18:31:32 · 1833 阅读 · 1 评论 -
Python常用函数:获取当前项目路径【abs_path=pathlib.Path(__file__).absolute()】-->【sys.path.append(str(abs_path))】
当我们导入某个模块文件时, Python 解释器去哪里找这个文件呢?只有找到这个文件才能读取、装载运行该模块文件。它一般按照如下路径寻找模块文件(按照顺序寻找,找到即停不继续往下寻找):内置模块当前目录程序的主目录pythonpath 目录(如果已经设置了pythonpath 环境变量)标准链接库目录第三方库目录(site-packages 目录).pth 文件的内容(如果存在的话)sys.path.append()临时添加的目录当任何一个python 程序启动时,就将上面这些搜索路径原创 2022-04-04 21:45:00 · 1814 阅读 · 1 评论