自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 【Python】enum库的介绍及用法

是Python的一个内建库,用于创建枚举类型。枚举类型是一种只有少数几个固定值的类型,每个值都是唯一的。库的典型应用场景,它可以大大提高代码的质量和健壮性。枚举成员可以通过类属性的方式访问,例如。库的主要方法和使用,希望对你有所帮助。

2024-04-26 08:50:43 202 1

原创 【Python】爬虫-基础入门

爬虫,又称网络爬虫或网页爬虫,是一种用来自动浏览互联网的网络机器人。其主要功能是收集网页信息,这些信息可以被搜索引擎用来创建索引。爬虫通常依照某种预定的规则访问网页,获取所需的数据,例如网页的内容、元数据甚至是特定链接等,然后记录或存储这些信息供进一步处理或分析。

2024-04-24 10:07:24 1701 1

原创 【Python】openpyxl库的介绍及用法

openpyxl是一个Python库,用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件。以上只是openpyxl库的一部分功能,实际上,它还提供了许多其他的功能,如排序和过滤数据、设置条件格式等。使用openpyxl,你可以在Python中处理Excel文件,而无需依赖Excel软件。openpyxl库在Python中处理Excel文件的各种场景中都非常有用。总的来说,任何涉及到需要读取、写入或修改Excel文件的场景,都可以考虑使用openpyxl库。

2024-04-23 16:57:07 1104

原创 【Python】serial库的介绍及用法

以上是一些基本的方法,pySerial还提供了其他更多的方法和属性,可以参考其官方文档进行了解。以上是一些基本的方法,pySerial还提供了其他更多的方法和属性,可以参考其官方文档进行了解。这将打开名为'/dev/ttyUSB0'的串行端口,并设置波特率为9600。

2024-04-22 15:13:10 571

原创 【ADB】adb、shell的介绍

例如,它使用`echo`来打印文本,使用`if`和`fi`来进行条件判断,使用`for`和`done`来进行循环等。例如,它使用`echo`来打印文本,使用`if`和`else`来进行条件判断,使用`for`来进行循环等。因此,虽然`.sh`脚本和`.bat`脚本都是用来自动化执行一系列命令的,但是它们使用的命令和语法是不一样的,不能直接在不同的环境中互换使用。它们有自己的命令和语法。以上只是Shell命令的一部分,实际上Shell提供了上百种命令,且每个命令都有自己的参数和选项,可以进行丰富的操作。

2024-04-12 14:24:33 1573

原创 【OCPP】ocpp1.6协议第3.10章节:Parent idTag-介绍及翻译

在 OCPP 1.6 的协议规范中,3.10. Parent idTag 是在描述一个用于身份鉴权的概念,在一个特定的访问场景下,用户可以使用他们自己的 idTag(比如一个RFID标签)来启动一个充电会话(transaction)。“Parent idTag” 是这个用户 idTag 的一个属性。这个属性主要用于描述用户 idTag 的等级或者层级关系,具有相同父级 idTag 的用户 idTag 可以被看作是属于同一个用户组。这对于管理大量用户提供了方便。

2024-04-08 16:46:34 288

原创 【Python】hashlib库的介绍及用法

encode(encoding='utf-8')` 是将 `data` 字符串转化为字节串(bytes)的方法,其中 'utf-8' 是一种常用的字符编码方式。hashlib是Python的标准库,它提供了一系列的算法,如MD5,SHA1,SHA224,SHA256,SHA384,SHA512等,用于在Python中生成散列值。所以整个表达式的含义是:将 `data` 字符串转化为 UTF-8 编码的字节串,然后用这个字节串更新 `m` 哈希对象的哈希值。的散列值,最后的散列值是基于整个输入字符串。

2024-03-28 09:25:06 1023

原创 【MySql】python创建数据库和创建表的语句

这段代码需要足够的权限才能在数据库中创建新的数据库。对于大多数数据库系统,默认的管理员用户(例如在MySQL中是root用户)都有创建数据库的权限。:上述的用户名(username)和密码(password)需要替换为你实际的MySQL数据库的用户名和密码。在Python中,可以使用Python的数据库API来创建MySQL数据库表。: 上述的用户名(username)、密码(password)和localhost需要替换为你实际的MySQL数据库的用户名、密码以及运行MySQL的主机。

2024-03-22 15:23:30 758

原创 【MySql】表的约束

再次提醒,不同的数据库系统,如MySQL、SQL Server、PostgreSQL等,对于以上约束的实现可能会有一些差异和特殊性,在实际操作时需要参考对应的数据库系统文档。以上就是数据库列的一些常见限制。根据实际需求,可以灵活地为列设置合适的限制。

2024-03-21 15:48:47 818

原创 【MySql】MySQL表的结构

例如,MongoDB中并不存在传统意义上的"表",而是称为"集合"(Collection),其中保存的是各种各样的JSON对象。大部分关系型数据库(如MySQL, PostgreSQL, SQLite, Oracle, SQL Server等)的表结构都是类似的,包含了表名、字段名、数据类型、主键、外键、索引等元素。所以,不同类型的数据库其表的结构有可能不同,这需要根据具体的数据库类型来确定。每个字段的数据都有特定的数据类型,如整数、字符、日期等。每个表都有一个唯一的名称,用于标识这个表。

2024-03-20 16:13:07 401

原创 【MySql】SQLite和MySQL的区别

相比之下,SQLite是一个嵌入式数据库,所有数据库的内容都存储在一个文件中,不需要一个运行在服务器上的数据库服务程序。而当你使用Navicat打开一个SQLite数据库文件时,你实际上是让Navicat直接读取和操作这个SQLite数据库文件,没有涉及到与任何数据库服务的通信,所以并不需要安装SQLite服务。SQLite:SQLite 是一种嵌入式数据库,它的数据库就是一个文件,不需要单独的数据库服务器,非常适合于小型应用,如桌面软件、嵌入式软件等。不过两者都非常有用,选择哪一个取决于你的项目需求。

2024-03-20 15:58:57 824

原创 网络七层模型

接收端的服务器就是按照上述过程反向操作,就能最后提取出应用层的HTTP请求,然后生成HTTP响应消息传回给客户端,客户端的浏览器生成你能看懂的页面。最后,数据帧被转换成比特流,也就是我们常说的0和1,通过物理设备(如网线、光纤、无线电等)传送出去。每层都各司其职,交互只发生在相邻的层次,这样的设计极大地简化了网络通信的过程,并提高了可扩展性。在网络层的数据包基础上,再添加发送端和接收端的物理地址(MAC地址),形成数据帧。接着网络层会在数据包基础上,再加上发送端和接收端的IP地址,组成数据包。

2024-03-19 19:22:50 432

原创 【OCPP】ocpp1.6协议第3.9章节:ID Tokens-介绍及翻译

OCPP 1.6的3.9章节"ID Tokens"主要讲述了如何使用ID令牌来验证进行充电的用户身份。这些ID令牌可以是RFID卡、手机应用程序、密钥挂件或其他可以存储ID令牌的设备。用户使用ID令牌进行身份验证,并开始充电。如果身份验证成功,则返回一个ID令牌信息,并记录用户的充电会话。该章节还详细讲述了几种主要ID令牌的类型:Local Authorization List(本地授权列表)、Provider ID tokens(供应商ID令牌)以及Exemption ID tokens(豁免ID令牌)

2024-03-18 11:03:23 377

原创 【OCPP】ocpp1.6协议第3.8章节:连接器编号-介绍及翻译

OCPP 1.6协议中的3.8章节"Connector numbering"主要描述了电动汽车充电设备中的连接器编号系统。这一章节阐述了连接器(Connector)的编号规则,每个充电站的每个连接器都应有唯一的标识符。在多连接器充电站中,每个连接器的标识符都应唯一。第0号连接器是为整个充电站保留的,用于表示充电站本身的状态,不对应任何实际的物理连接器。而从1开始的号码则对应于实际的物理连接器。在某些情况下,特别是此协议的早期版本中,可能存在零或一个连接器的充电站。

2024-03-16 17:53:51 361

原创 【Python】pymysql库的介绍及用法

pymysql是一个Python连接MySQL数据库的库,它是全Python实现的,不需要MySQL的客户端库就可以完成所有操作,包括连接、查询、插入、更新等等。使用pip进行安装导入pymysql模块,使用connect() 方法来创建数据库的连接,需要传入数据库地址、数据库用户名、数据库密码、数据库名称等信息。# 创建数据库连接游标(cursor)是执行数据库操作的重要对象,它提供了执行SQL命令和获取结果的所有方法。在pymysql中,要执行SQL命令,首先需要创建一个Cursor对象。

2024-03-16 17:41:51 1386 2

原创 【MySql】MySql常用语句都有哪些

因此,务必在使用UPDATE语句的时候,要确保你的WHERE子句指定的条件是正确的,以防止误操作。同时,删除数据库的操作一般需要数据库管理员权限,如果你没有足够的权限,可能无法删除数据库。因此,使用DELETE语句时特别需要注意,确保WHERE子句的条件设置正确,避免删除错误的数据。需要注意的是,ALTER TABLE 没有直接的条件设置,所有操作对于表的所有行来说都是全局的。这个语句将只在该名称的数据库不存在的情况下创建一个新的数据库,如果数据库已经存在,则不执行任何操作也不返回错误。

2024-03-16 13:21:10 1244

原创 【Python】shutil库的介绍及用法

shutil 是 Python 的标准库之一。shutil模块基本上就是在os模块的基础上的扩展,主要提供了文件的复制、删除和移动等功能。总的来说,shutil模块中包含了许多操作文件和文件夹的实用工具函数,使得我们能够方便快捷地在 Python 代码中处理文件和文件夹。这些操作大大简化了Python对于文件和文件集合的处理,尤其是在做一些需要大量文件操作的任务时,比如备份、系统部署等。以上是shutil模块中常用的几个函数,还有很多其他功能,如文件和目录的管理、查找、归档等操作,可以根据需要使用。

2024-03-13 18:53:26 1014

原创 【Python】subprocess库的介绍及用法

例如: import subprocess child = subprocess.Popen(["ping", "-c", "5", "www.google.com"]) print("Parent process") 以上这些函数可以接受一系列参数,如 shell(指定是否以shell方式执行)、stdin、stdout、stderr(分别指定子进程的标准输入、输出、错误输出)、preexec_fn(指定一个函数,这个函数会在子进程运行前被调用)等。subprocess库是python的标准库。

2024-03-11 19:09:50 582

原创 【Python】FTP库的介绍及用法

还可以使用其它如 cwd (更改目录), mkd (创建目录), rmd (删除目录), delete (删除文件), rename (重命名文件或目录), storbinary (上传文件), retrbinary (下载文件) 等的方法。最后,我们关闭了ftp连接和本地文件。ftplib模块定义了FTP类,它提供了用于连接到FTP服务器,以及一旦连接,处理文件和其他FTP会话的方法。FTP库(ftplib)是Python内置的用于连接到FTP服务器,以及一旦连接,处理文件和其他FTP会话的方法的库。

2024-03-09 11:24:18 1176

原创 【Python】requests库的介绍及用法

需要注意的是,以上参数取决于实际HTTP请求的需求和API接口的要求,所以并非所有请求都需要全部使用这些参数,比如一般获取网页内容的GET请求,可能只需要提供URL一个参数即可。Python中requests库的基础使用方法很简单,主要涉及到的HTTP方法包括GET、POST、PUT、DELETE等。GET、POST、PUT、DELETE等方法都是HTTP协议中的请求方法,这些方法在requests库中对应相同名字的函数。Python中的requests库被广泛应用在需要发送HTTP请求的场景中。

2024-02-28 19:46:42 1040

原创 【Python】Pandas库的介绍及用法

以上代码中,“Column_Name”代表你要操作的具体列名,“Column1”,“Column2”,"Column3" 代表相应的列名,“Common_Column_Name”代表两个DataFrame的公共列名。Pandas是Python的一个开源数据分析处理库。这只是Pandas库大量方法中的一部分,实际上Pandas还附带许多其他有用的功能和方法,能够满足各种数据处理和分析的需求。以上就是Pandas库的一些基本介绍及使用,实际使用中,Pandas的功能非常丰富,可以应对各种各样的数据操作需求。

2024-02-27 19:47:27 1306

原创 打开一个网站所经历的过程

浏览器可能会发出额外的请求: 在解析HTML过程中,浏览器可能会发现还需要额外的资料,例如图片、CSS、JavaScript文件、字体文件等,这时候浏览器会再向服务器发出额外的请求,请求这些文件。服务器处理请求,返回 HTTP 响应:服务器接收到请求后,会处理这个请求,处理完后返回一个 HTTP 响应,响应中包括了返回的数据(比如HTML文件),状态码和一些其他信息。浏览器发送HTTP请求: HTTP请求是应用层(第四层)的行为,并且依赖于对应的传输层(第三层,TCP)与网络层(第二层,IP)的行为。

2024-02-20 20:20:21 795

原创 Cookie和Session的区别

Cookie是一种存储在用户本地终端(通常是浏览器)上的数据。它由网站创建,并可在用户的每次访问中被网站检索。网站可以使用Cookie来保存用户信息,如登录状态、用户的个性化设置,比如语言、字体大小等。

2024-02-20 20:14:56 317

原创 GET和POST的区别

POST请求将需要发送的数据包含在请求的主体(body)中,而不是URL中,这使得POST可以发送大量数据,而且,这些数据可以包含各种类型,如文本、二进制数据、文件等。在Web开发中,当用户向服务器提交数据(例如:填写并提交网页表单)时,这些数据通常会通过POST请求发送给服务器。例如,当你访问一个网页、图片、文件,或者执行一个查询时,通常都会使用GET请求。需要注意的是,虽然POST请求在提交数据时比GET请求更安全、更灵活,但它通常需要消耗更多的服务器资源,因此需要谨慎使用。

2024-02-20 20:10:54 924

原创 【OCPP】ocpp1.6协议第3.7章节:与交易相关的消息-介绍及翻译

OCPP 1.6协议中的3.7章节 "Transaction-related messages" 主要涉及到与充电事务相关的消息。充电事务(Transaction)通常是指用户使用充电桩进行一次完整的充电过程,包括充电开始,充电中和充电结束等阶段。当充电开始时,充电桩会发送StartTransaction消息给中央系统。在充电过程中,充电桩会通过发送StatusNotification消息将实时状态更新给中央系统。同样在充电过程中,充电桩会发送包含电表读数(MeterValue)的消息给中央系统。

2024-02-19 16:14:43 876 1

原创 【Python】NumPy库的介绍及用法

尽管NumPy不是Python的标准库,但它由于其在数值计算等方面的强大功能,以及被众多其他第三方库所依赖,已经成为Python数据科学领域的事实标准库之一。NumPy并不是Python的标准库。但它是一个第三方库,是Python进行科学计算的基础包,也是许多Python数据处理和机器学习库的依赖库。Python的标准库是随着Python安装包直接提供的库,如math(数学函数库),datetime(日期时间库),os(操作系统功能库)等。此外,NumPy还提供了许多其他功能,如切片,索引,广播等等。

2024-02-19 16:01:15 936 1

原创 【Python】random库的介绍及用法

举例来说,random.gauss(mu, sigma)会生成一个均值为mu,标准差为sigma的正态分布随机数。randrange(start, stop, step): 返回任意选定开始和结束(不包含)之间,以固定步长的随机整数。sample(population, k): 返回指定大小的新列表,列表元素从原始序列或集合随机取样,不改变原有序列。这些只是random库的一些基本应用,实际上,它可以用于任何需要随机性的场景中。random(): 这个方法返回0和1之间的随机浮点数(包括0,不包括1)。

2024-01-31 19:22:29 535

原创 【OCPP】ocpp1.6协议第3.5章节:本地授权和离线行为-介绍及翻译

鉴权缓存信息的获取和更新主要依靠充电设备自身,在CMS系统无法访问的情况下,可以进行离线鉴权。支持Local Authorization List的充电桩应该实现配置项:LocalAuthListMaxLength,这为中央系统提供了一种方法来知道充电桩中Local Authorization List元素的最大可能数量。为了改善用户的体验,充电桩可以使用Authorization Cache(鉴权缓存)或Local Authorization List(本地鉴权列表)来支持标识符的本地授权。

2024-01-31 17:50:27 1197

原创 【Python】requests库的介绍及用法

Python中的requests库被广泛应用在需要发送HTTP请求的场景中。

2024-01-30 20:22:39 1419 1

原创 【Python】asyncio库的介绍及用法

在这个函数内部,我们调用了await asyncio.sleep(1),这会将程序的执行权交由事件循环,等待1秒钟后,事件循环会重新激活这个协程,继续执行下面的代码。需要注意的是,async和await必须配套使用,你不能在一个非协程函数(没有用async定义的函数)中使用await或者在一个非协程上下文(如普通的函数或方法)中使用async。Python的asyncio库被设计用于处理并发和异步编程,同时提供了基于协程的高级API,以在处理一些I/O密集型操作时提供更好的性能和易用性。

2024-01-29 20:23:00 1068

原创 【Python】websockets库的介绍及用法

协程函数、async/await,以及asyncio库等都是Python3.5以后版本才引入的新特性,用以更好地处理异步I/O操作,特别是在需要高并发的web服务器和爬虫等应用中有着广泛的应用。Python的websockets库是一个用于处理WebSocket协议的库,WebSocket是一个用于在浏览器和服务器间进行全可信双向通信的网络协议。请注意,websockets库大多数的函数都是协程(coroutine)函数,需要使用 async/await 关键字。

2024-01-29 20:20:22 991

原创 【Python】pytest库的介绍及用法

尽管它不是Python的一部分,但它仍然是Python测试中的重要工具之一,被广泛应用于各种级别的测试中,从简单的单元测试到复杂的功能测试。pytest还有很多内置的工具函数和大量的插件支持,例如用于并行运行测试用例的pytest-xdist插件,以及用于生成测试覆盖率报告的pytest-cov插件等。在pytest的框架下,测试代码通常是以函数或类的形式编写,以"test_"开头。pytest是一个非常强大的测试框架,其能从简单的单元测试到复杂的功能测试以及持续集成的情况给你提供很好的解决方案。

2024-01-27 16:58:37 1086

原创 【OCPP】ocpp1.6协议第3.4章节:操作的总体视图

在OCPP 1.6协议的第3.4章节“General Views Of Operation”中,通常会介绍和描述充电桩(Charge Point)和中央系统(Central System)之间交互的常见工作流和业务场景。OCPP,即Open Charge Point Protocol,是一个开放的充电桩协议,用以描述充电桩(Charge Point)和充电桩中心系统(Central System)之间的通信。

2024-01-27 16:20:49 606

原创 【Python】logging库的介绍及用法

在运行大型应用程序时,可能会产生大量日志,此时,通过 logging 模块的 FileHandler、RotatingFileHandler 等功能,可以很好的进行日志文件的管理,比如按照时间或文件大小进行日志文件的分割。:在某些需要记录用户行为的场景下(如反欺诈、风险控制),可以使用 logging 来记录用户的操作,然后在之后对这些日志数据进行分析。这段代码首先设置了logging的基础配置,然后记录了一条DEBUG级别的消息。这段代码在文件和控制台上记录不同级别的日志,并设置了日志的输出格式。

2024-01-27 15:44:00 1069

原创 【Python】sys库的介绍及用法

Python的sys库是一种内建模块,可对Python的运行环境进行访问和操作。如果你运行 python myscript.py arg1 arg2,将打印出 ['myscript.py', 'arg1', 'arg2']。sys.modules是一个全局字典,它保存了所有已经导入的Python模块。字典的键是模块的名称,值就是模块对象本身。sys.modules不仅包括由你在代码中导入的模块,还包括Python在启动时自动导入的一些基础模块。以上代码会打印出 Python 搜索模块的路径集。

2024-01-27 14:09:39 1409

原创 【Python】os库的介绍及用法

以上这些函数为我们在 Python 中操作文件和目录,读取环境变量,控制进程等提供了便捷的接口。需要注意的是,由于操作系统的差异,部分函数可能在某些系统下无法使用。os 是 Python 的一个标准库,它提供了丰富的操作系统功能接口,用于处理文件和目录等数据。创建、删除、更改、获取当前工作目录。这些都是os模块的一些基础应用场景,在更复杂的环境中,os模块的功能更为强大和复杂。您可以使用os模块来执行shell命令,这是自动化许多系统任务的重要需求。获取操作系统的相关信息,例如名称、进程相关信息等。

2024-01-26 17:55:55 565 1

原创 【Python】time库和datetime库的介绍及用法

Python的time:使用time模块的time()函数可以获取当前的时间戳,这在评估程序运行时间及性能优化时非常有用。例如,可以在代码块的开始和结束时分别获取时间戳,然后相减就可以得到代码执行花了多长时间。time模块的sleep()函数可以让当前的程序暂停运行指定的秒数。这在需要制造间歇或者等待的场景下非常有用,如轮询、限制请求速度或者做个定时任务等。time模块还有许多关于时间和日期的格式化函数。例如能获取当前的时间并以特定的方式格式化输出,或者将字符串格式的时间解析为时间元组等。

2024-01-26 17:45:50 1096 1

原创 【OCPP】ocpp1.6协议3.3章节:功能配置文件及接口

Smart Charging Profile中定义了4个接口请求,即GetCompositeSchedule、ClearChargingProfile、SetChargingProfile和ClearCache等。Smart Charging: 包含智能充电相关的功能,如计划充电,报告充电计划,并改变充电速度。Core: 包含电动汽车充电相关的基础功能,如启动和停止充电,更改充电配置,报告充电状态等。Reservation: 包含预约服务相关的功能,如创建,取消和更改预约。

2024-01-26 11:39:47 726 1

原创 【OCPP】什么是OCPP协议(OCPP1.6、OCPP2.0.1)

OCPP(Open Charge Point Protocol)即开放充电桩协议,是一种在电动车充电设备(EVSE)和中心系统之间进行通信的开放式标准通信协议。该协议由荷兰“充电设备操作系统开发者联盟”(OCPP-Forum)于2009年开发,并逐渐发展成为全球范围内用于EVSE的商业应用通信的业界通用标准。

2024-01-26 11:15:26 2041

原创 【Python】json库介绍及用法

JSON代表JavaScript Object Notation。JSON是一种基于文本的数据交换格式,旨在使数据易于读取和编写。JSON通常被用于在Web应用程序中发送和接收数据。JSON的基础是“名称/值”对(类似于Python中的字典)和数组(类似于Python中的列表)。JSON的数据格式既可以表示简单的数据类型,如字符串、数字、布尔值和null,也可以表示复杂的数据如列表和对象。

2024-01-25 20:21:44 913

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除