- 博客(61)
- 收藏
- 关注
原创 gitignore 文件作用
对于我这个测开小白,在代码的路上有种大相径庭的意思,了解到 gitignore 还是无意中发现上传到 gitee 仓库的代码不全,总是会自动屏蔽一些目录和一些文件。然后我就开启了百度模式,鉴于前期搜索主题的不准确,肯定也是浪费了很多的时间,终于还是请教了前辈,才知道这么个东西的存在,进一步了解了它的作用,好了,言归正传!!
2023-03-08 18:57:30
339
1
原创 CSS - css 属性(三)
CSS 属性所有属性查询文档 CSS 教程 | 菜鸟教程 名称 作用 值 备注 width 宽 Npx height 高 Npx border 边框 Npx,边框类型 .
2022-01-07 10:09:24
322
原创 CSS - css 选择器(二)
一、选择器如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器1. id 选择器id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。 HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。 以下的样式规则应用于元素属性 id="para1": id 属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用2. class 选择器class 选择器用于描述一组元素的样式,
2022-01-07 10:02:23
275
转载 CSS - css 简介及语法(一)
一、什么是 CSS?CSS 指层叠样式表 (CascadingStyleSheets) 样式定义如何显示HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外部样式表可以极大提高工作效率 外部样式表通常存储在CSS 文件中 多个样式定义可层叠为一个二、CSS 语法CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:选择器通常是您需要改变样式的 HTML 元素。每条声明由一个属性和一个值组成。属...
2022-01-07 10:00:50
162
原创 HTML - html iframe(五)
一、HTML iframe 介绍<iframe> 标签是一个内联框架,即用来在当前 HTML 页面中嵌入另一个文档的,且所有主流浏览器都支持iframe标签。二、 HTML iframe 基本结构基本语法:<iframe src="文件路径"></iframe><iframe> 标签常用属性介绍:height可以设置框架显示的高度width可以设置框架显示的宽度name可以定义框架的名称frameborder用来定义是否需要显示边框,
2022-01-06 09:55:56
765
原创 HTML - html 列表(四)
有序列表 第一个列表项 第二个列表项 第三个列表项 无序列表 列表项 列表项 列表项 二、HTML 列表实例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>列表</title></head>&.
2022-01-05 09:28:13
238
原创 HTML - html form 表单(三)
一、HTML 表单表单是一个包含表单元素的区域。表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。表单使用表单标签 <form> 来设置:二、HTML 表单 - 输入元素多数情况下被用到的表单标签是输入标签(<input>)。输入类型是由类型属性(type)定义的。大多数经常被用到的输入类型如下:<!DOCTYPE html><ht
2022-01-05 09:11:58
175
原创 HTML - html 表格(二)
一、HTML 表格表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。二、HTML 表格标签标签 描述 <table> 定义表格 <th> 定义表格的表头 <tr> 定义表格的行
2022-01-05 08:07:53
77
原创 HTML - html 介绍及常用标签(一)
什么是 HTML?HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (HyperTextMarkupLanguage) HTML 不是一种编程语言,而是一种标记语言(markup language) 标记语言是一套标记标签(markup tag) HTML 使用标记标签来描述网页HTML 标签HTML 标记标签通常被称为 HTML 标签 (HTML tag)。HTML 标签是由尖括号包围的关键词,比如 <html> HTML 标签通常是成对出...
2022-01-04 17:24:03
305
原创 Python - requirements.txt的生成和使用方法
pytest 框架中的 requirements.txt 文件的生成和使用,方便别人在使用时了解和下载整个项目里所用的 package
2021-12-09 16:13:43
783
原创 Python - pytest 测试框架(一)
1. pytest 模块的安装2. pytest 参数,case 标签、优先级、参数化和测试报告的生成
2021-11-29 09:05:31
1139
转载 Python -进程详解
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is...
2021-11-24 16:26:04
383
原创 Python - 线程池 - 进阶之路 - Day09
系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互。在这种情形下,使用线程池可以很好地提升性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。线程池在系统启动时即创建大量空闲的线程,程序只要将一个函数提交给线程池,线程池就会启动一个空闲的线程来执行它。当该函数执行结束后,该线程并不会死亡,而是再次返回到线程池中变成空闲状态,等待执行下一个函数。此外,使用线程池可以有效地控制系统中并发线程的数量。当系统中包含有大量的并发线程时,会导致系统性能急剧下降,甚至导致Pyth.
2021-11-24 15:25:59
129
原创 Python - 线程锁 - 进阶之路 - Day09
GIL(全局解释器锁)GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,是为了实现不同线程对共享资源访问的互斥,才引入了GIL在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势python对于计算密集型的任务开多线程的效率甚至不如串行(没有大量切换),但是,对于IO密集型的任务效率还是有显著提升的。GIL原理图计算密集型:结果肯定是100,因为每一次start结果就已经出来了,所以.
2021-11-24 09:12:58
87
转载 Python - 线程 - 进阶之路 - Day09
一、线程介绍什么是线程?线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。为什么要使用多线程线程在程序中是独立的、并发的执行流。与分隔的进程相比,进程中线程之间的隔离程度要小,它们共享内存、文件句柄和其他进程应有的状态。因为线程
2021-11-23 10:19:48
397
原创 Python - glob 模块 - 进阶之路
简介: glob是python自带的一个操作文件的相关模块,由于模块功能比较少,所以很容易掌握。用它可以查找符合特定规则的文件路径名。使用该模块查找文件,只需要用到:“*”, “?”, “[]”这三个匹配符;”*”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。代码示例:import glob# 通配符# 星号(*)匹配零个或多个字符res = glob.glob("/Users/zhulixiang/Downloa...
2021-11-23 08:22:23
541
转载 Python - 面向对象 - Day08
面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。面向过程编程:1. 导入各种外部库2. 设计各种全局变量3. 写一个函数完成某个功能4. 写一个函数完成某个功能5. 写一个函数完成某个功能6. 写一个函数完成某个功能7. 写一个函数完成某个功能8. ......9. 写一个main函数作为程序入口在多函数程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问。每个函数都可以具有它们自己的局部数据,将某些功能代码封装到函数中,日后便无需
2021-11-19 16:39:12
172
原创 Python - yamail - 进阶之路 - Day08
python发邮件的教程的,主要用的都是smtplib库,yamail。yamail相当简单。代码示例:import yamailusername = "920973544@qq.com"password = "hfkdwahyplqxbeac"host = "smtp.qq.com" # smtp.163.comport = 465# 连接服务mail = yamail.SMTP(user=username, password=password, host=host, port
2021-11-17 23:56:04
1016
原创 Python - redis 模块 - 进阶之路 - Day07
redis介绍1. Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。2. 它支持数据结构,如 字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志和带有半径查询的地理空间索引。3. Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel提供高可用性和Redis Cluster自动分区。redis定义1. redis是一个key-value存储系统。和Memcached类似,它支持存储的va
2021-11-13 01:33:19
986
原创 redis.exceptions.DataError: Invalid input of type: ‘dict‘. Convert to a byte, string or number first
一个问题引发的血案:用python向redis写入数据报错:redis.exceptions.DataError: Invalid input of type: 'dict'. Convert to a byte, string or number first.查看redis的版本:pip3 freeze显示现在的redis版本是:redis 3.5.3对redis降版:pip3 install -U redis==2.10.6 #将当前版本降级到2.10.6成.
2021-11-13 01:20:17
1909
原创 AttributeError: ‘list‘ object has no attribute ‘keys‘
def hash_redis(): redis_info = { "host": "127.9.9.1", "port": 6379, "db": 10 } msg_dict = get_news() # 连接redis,可以在连接时直接添加 decode_responses=True,这样在输入结果的时候直接是 str 类型,而不是 byte 类型 r = redis.Redis(**redis_info, deco.
2021-11-13 01:16:39
8834
原创 RuntimeError: dictionary changed size during iteration 解决办法
在字典遍历过程中修改字典元素,报错 RuntimeError: dictionary changed size during iteration得知遍历时不能修改字典元素for k in func_dict.keys(): if func_dict[k] is np.nan: del func_dict[k] continue解决办法:将遍历条件改为列表for k in list(func_dict.keys()): if func_di
2021-11-13 01:12:21
1285
原创 Python - join 函数 - 进阶之路
Python中有join()和os.path.join()两个函数,具体作用如下:join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回一、函数说明1、join()函数语法: 'sep'.join(seq)参数说明sep:分隔符。可以为空seq:要连接的元素序列、字符串、元组、字典上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串返回值:返回一个以分隔..
2021-11-10 17:54:29
82
原创 Python - loguru 模块 - 进阶之路 - Day07
一、 loguru模块的基础使用如果想更简洁,可用loguru库,python3安装:pip3 install loguruloguru默认的输出格式有时间、级别、模块名、行号以及日志信息,不需要手动创建 logger,直接使用即可,另外其输出还是彩色的,看起来会更加友好。示例代码:from loguru import loggerlogger.debug('this is a debug message')logger.info('this is another debug m
2021-11-08 22:27:24
532
原创 Python - base64 模块 - 进阶之路 - Day06
简介base64模块是用来作base64编码解码,常用于小型数据的传输。编码后的数据是一个字符串,其包括a-z、A-Z、0-9、/、+共64个字符,即可用6个字节表示,写出数值就是0-63.故三个字节编码的话就变成了4个字节,如果数据字节数不是3的倍数,就不能精确地划分6位的块,此时需要在原数据后添加1个或2个零值字节,使其字节数为3的倍数,然后在编码后的字符串后添加1个或2个‘=’,表示零值字节,故事实上总共由65个字符组成。下面举几个小例子。将3个字节的‘Xue‘进行base64编码:将
2021-11-08 10:27:30
255
原创 Python - faker 模块 - 进阶之路 - Day06
在编写程序过程中,我们常常需要用到很多数据来进行测试。如果要是手动制造数据的话,肯定要花费大把精力,这不合理。此时我们应该使用Faker这个Python库,用它来生成各种各样的伪数据。基本用法from faker import Faker # 1 fake = Faker() # 2 fake.name() # 3# Donna Kelly fake.address() # 4# 519 Donna R..
2021-11-08 09:41:16
228
原创 Python - shutil 模块 - 进阶之路 - Day06
copy()# 功能:复制文件# 格式:shutil.copy('来源文件','目标地址')# 返回值:复制之后的路径# 使用 copy ,new 写的是一个目录,那么就把这个文件复制过去# 如果 new 写的是一个文件,那么就复制文件# 只能复制文件shutil.copy("笔记.txt", "file")copy2()# 功能:复制文件,保留元数据# 格式:shutil.copy2('来源文件','目标地址')# 返回值:复制之后的路径shutil.copy2("
2021-11-08 09:26:15
185
原创 Python - 字典排序 - 进阶之路 - Day06
dict_score = { "a": 1231, "b": 128, "c": 12, "d": 9, "e": 890, "f": 78}# 对字典进行排序,因为字典是无需的# 而且不能通过元素的下标去获取元素,而是通过元素的 key 来获取对应的 value# 所以可以先将字典转换成多维的列表# item() 可以将一个字典转换成一个二维数组print(dict_score.items())# 此时可以将这个二维列表进行排序,默认的.
2021-11-08 08:31:58
319
转载 Python - MD5 加密 - 进阶之路 - Day06
MD5消息摘要算法:(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的
2021-11-08 08:27:45
186
转载 Python - redis 模块 - 进阶之路 - Day07
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或
2021-11-03 21:48:34
242
原创 Python - requests 模块 - 进阶之路 - Day07
1、模块说明requests是使用Apache2 licensed 许可证的HTTP库。用python编写。比urllib2模块更简洁。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。现代,国际化,友好。requests会
2021-11-02 21:58:43
865
原创 Python - 实现数据库的数据导出到 Excel
写一个函数,传入一个表名,将表中所有数据导出到一个 Excel 中。我们先捋捋这个代码的过程:先链接数据库 通过函数传入的表名,执行 sql 语句读取表中所有数据 将 sql 执行结果赋值,然后关闭游标和数据库的链接 实例化一个 Excel 对象,并激活 将执行 sql 得到的结果写入 Excel 中 保存 Excelimport pymysqlimport openpyxl# 下边链接信息为虚拟的,大家只要对号入座填写自己的数据库连接信息即可host = "127.127.
2021-10-25 23:07:07
5325
2
转载 Python - openpyxl 模块 - 进阶之路 - Day06
Python_Openpyxl1. 安装pip install openpyxl2. 打开文件① 创建from openpyxl import Workbook # 实例化wb = Workbook()# 激活 worksheetws = wb.active② 打开已有>>> from openpyxl import load_workbook>>> wb2 = load_workbook('文件名称.xlsx')3.
2021-10-25 22:49:43
136
转载 Python - pysql 模块 - 进阶之路 - Day06
Python3连接MySQL本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。PyMySQL介绍PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。Django中也可以使用PyMySQL连接MySQL数据库。PyMySQL安装#终端中安装pymysqlpip install pymysqlpython3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
2021-10-25 22:23:05
956
转载 Python - break、continue、return、exit、pass 区别 - 进阶之路
一、区别序号 名称 描述 使用 1 break 用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。 用在while和for循环中,如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。 2 return 结束函数,返回参数 程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return。 3 continue 跳过当前循环的剩余语句
2021-10-07 22:15:47
910
转载 Python - os 模块 - 进阶之路 - Day04
os模块是Python标准库中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。本着只讲最有用的态度,下方我将os模块中一些我常用的的方法,给大家详细列举出来了,希望减少大家的学习负担。知识串讲1)模块导入# 导入import os2)os.getcwd()作用:获取当前的工作路径;os.getcwd()结果如下:3)os.listdir(path)作用:传入任意一个path路径,返回的是该路径下所有文件和目录组成的列表;path
2021-10-06 22:09:07
91
原创 Python 随机生成双色球
先说说双色球的组成规则:1.双色球投注区分为红色球号码区和蓝色球号码区2. 红色球号码区由1-33共三十三个号码组成,红色球共 6 个,6 个红球不能重复3. 蓝色球号码区由1-16共十六个号码组成,蓝球 1 个4. 双色球打票的显示效果为:08 15 21 22 29 32 01重要的是写代码的思路,确定好思路基本上按照思路写就行啦!1. 先随机生成 6 个红球,取值范围是 1-332. 将生成的红球进行排序3. 将已排序的红球长度小于 2 的进行补零4. 随机生.
2021-09-25 22:36:57
4164
1
原创 TypeError: write() takes exactly one argument (2 given)
调用文件写入方法的时候报错。意思就是说不能有多个write()第一次报这个错是在一个write()函数中用了逗号,如f.writelines(double_color_ball_number , "\n")我的本意是写入 double_color_ball_number 这个变量后,再接着写入一个换行符,但这种写法其实是用了两次write()正确的应该用 ’+' 连接f.writelines(double_color_ball_number + "\n")注意得都是strin
2021-09-25 14:12:44
4683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人