Python小知识
个人学习笔记,用于记录使用过程中好用的技巧、好用的库。
1 小知识
1.1 相对路径

1.2 打包Exe文件
命令:
pyinstaller -F main.py
其中-F:覆盖之前打包的文件
mian.py:需要打包的Python文件
PS:使用pyinstaller 5.10.0以上的版本,低于5.10.0以下会出现一些稀奇古怪的问题(Python版本为3.10)
1.3 字符串对齐ljust()|rjust()|center()
在生成C代码时,需要对齐备注等的要求,使用较多。
具体参考:https://blog.csdn.net/qdPython/article/details/111559495
1.4 正则表达式
1.4.1 普通字符


1.4.2 非打印字符

1.4.3 特殊字符

1.4.4 限定符
限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。

参考资料:https://www.runoob.com/regexp/regexp-syntax.html
1.5 除法取整
1.5.1 向下取整
x = 1
y = 2
r = x // y
输出:0
1.5.2 向下取整
import math
x = 1
y = 2
math.ceil(x / y)
输出1
1.6 替换字符 - 删除指定字符
Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
1.6.1 语法
str.replace(old, new[, max])
1.6.2 参数
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
1.6.3 返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
1.6.4 实例
ss = 'old old string'
ret = ss.replace('old', 'new', 1)
print(ret)
输出
new old string
参考资料:https://www.runoob.com/python/att-string-replace.html
1.7 打印进度条
import sys
import timedef progress_bar(finish_tasks_number, tasks_number):"""进度条:param finish_tasks_number: int, 已完成的任务数:param tasks_number: int, 总的任务数:return:"""percentage = round(finish_tasks_number / tasks_number * 100)print("\r进度: {}%: ".format(percentage), "▓" * (percentage // 2), end="")sys.stdout.flush()if __name__ == '__main__':for i in range(0, 101):progress_bar(i, 100)time.sleep(0.05)
效果图

参考资料:https://blog.csdn.net/TaoismHuang/article/details/120747536
2 库
2.1 parsel
parsel这个库可以解析HTML和XML,并支持使用Xpath和CSS选择器对内容进行提取和修改,同时还融合了正则表达式的提取功能。parsel灵活且强大,同时也是python最流行的爬虫框架Scrapy的底层支持。
CSS选择器使用
提取CSDN一个页面下面博客的所有链接。具体步骤如下:
①右键,选择“检查”,查看网页代码

②复制第一篇文件链接,在网页代码中搜索,提取上一级标签的关键字,这里是“column_article_list”

③复制上一级标签关键字,在搜索栏输入“.column_article_list”搜索
这里只会有唯一的一个匹配项

使用空格取下级标签,例如“.column_article_list a”表示取column_article_list下面的a标签,如果还需要往下取,继续加“空格+标签名”

④回到代码
先使用parsel.Selector将响应的数据转换为一个对象,在对象中在使用css选择题提取内容。
这里“::attr(href)”表示去a标签的href属性
.getall():提取整个对象中符合要求的数据

相关文章:
Python小知识
个人学习笔记,用于记录使用过程中好用的技巧、好用的库。 1 小知识 1.1 相对路径 1.2 打包Exe文件 命令: pyinstaller -F main.py其中-F:覆盖之前打包的文件 mian.py:需要打包的Python文件 PS:使用pyinstaller 5.1…...
如何在Ubuntu系统上安装Redis
Redis的下载 Redis安装包分为windows版和Linux版当前示例中介绍的是Linux版本Linux的下载地址:Index of /releases/ (redis.io)本次下载的压缩包为:redis-6.2.14.tar.gzRedis的安装 将压缩包通过ssh远程工具上传到Linux服务器中解压压缩包 tar -zxvf red…...
Vue2问题:如何全局使用less和sass变量?
前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约2400字,整篇阅读大约需要4分钟。 本文主要内容分三部分,如果您只需要解决问题,请阅读第一、二部分即可。如果您有更多时间ÿ…...
Java 基础学习(四)操作数组、软件开发管理
1 操作数组 1.1.1 System.arraycopy 方法用于数组复制 当需要将一个数组的元素复制到另一个数组中时,可以使用System.arraycopy方法。它提供了一种高效的方式来复制数组的内容,避免了逐个元素赋值的繁琐过程。相对于使用循环逐个元素赋值的方式&#x…...
git仓库如何撤销提交,恢复提交,重置版本命令
撤销提交: 要撤销最近一次提交(未推送到远程仓库),可以使用以下命令: git reset HEAD^该命令将会把最后一次提交的修改从当前主分支中移除,并将这些修改的状态保留在本地工作目录中。 如果想要取消所有的…...
Java 基础学习(三)循环流程控制与数组
1 循环流程控制 1.1 循环流程控制概述 1.1.1 什么是循环流程控制 当一个业务过程需要多次重复执行一个程序单元时,可以使用循环流程控制实现。 Java中包含3种循环结构: 1.2 for循环 1.2.1 for循环基础语法 for循环是最常用的循环流程控制ÿ…...
别太担心,人类只是把一小部分理性和感性放到了AI里
尽管人工智能(AI)在许多方面已经取得了重大进展,但它仍然无法完全复制人类的理性和感性。AI目前主要侧重于处理逻辑和分析任务,而人类则具有更复杂的思维能力和情感经验。 人类已经成功地将一些可以数据化和程序化的理性和感性特征…...
最新AIGC创作系统ChatGPT系统源码+DALL-E3文生图+图片上传对话识图/支持OpenAI-GPT全模型+国内AI全模型
一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…...
在centos7上源码安装nginx
1. 安装必要的编译工具和依赖项 在编译Nginx之前,你需要安装一些编译工具和依赖项。可以通过以下命令安装: yum install gcc-c pcre-devel zlib-devel make 2. 下载Nginx源代码 从Nginx官网下载最新的源代码。你可以使用wget命令来下载: …...
Html网页threejs显示obj,ply三维图像实例
程序示例精选 Html网页threejs显示obj,ply三维图像实例 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Html网页threejs显示obj,ply三维图像实例》编写代码,代码整洁࿰…...
Windows平台下的oracle 11G-11.2.0.4补丁升级操作指南
序号 文件名称 文件说明 1 p6880880_112000_MSWIN-x86-64_OPatch 11.2.0.3.33 for DB 11.2.0.0.0 (Feb 2022) 用于升级 OPatch 2 DB_PSU_11.2.0.4.220118 (Jan 2022)_p33488457_112040_MSWIN-x86-64 主要补丁文件 注意:请用管理员权限运行文件内命令&#…...
MFC居中显示文字及其应用
首先获取窗口客户区矩形,然后使用DrawText输出,设置DT_CENTER 和 DT_VCENTER标志; 输出如上图;没有实现垂直居中; 最终的代码如下; void CcenterView::OnDraw(CDC* pDC) {CcenterDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return;// TODO: 在此处为…...
50-75GHz大功率六倍频源设计
摘 要 本文介绍了毫米波的特点,根据构成毫米波倍频器的不同器件,介绍了不同毫米波倍频器的实现方法,综述了毫米波倍频器这一领域的研究水平及其发展动态,重点研究频段全波导带宽倍频器的设计方法,从而将波段信号扩展到…...
Qt 软件调试(一) Log日志调试
终于这段时间闲下来了,可以系统的编写Qt软件调试的整个系列。前面零零星星的也有部分输出,但终究没有形成体系。借此机会,做一下系统的总结。慎独、精进~ 日志是有效帮助我们快速定位,找到程序异常点的实用方法。但是好的日志才能…...
docker network容器网络通信
Docker 网络主要有以下两个作用: 容器间的互联和通信以及端口映射容器IP变动时候可以通过服务名直接网络通信而不受到影响 只要是处于同一个Docker 网络下的容器就可以使用服务名直接访问,而无需担心重启。 docker容器网络模式 bridge网络模式&#…...
CVE-2022-4886 ingress命令注入复现与分析
安装 安装ingress-nginx wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.4/deploy/static/provider/cloud/deploy.yamlk apply -f deploy.yaml 原理 nginx.ingress.kubernetes.io/rewrite-target标签会在nginx配置进行插入字符串&#…...
Oracle整体架构
4. Oracle整体架构 所谓整体架构,这里是指保证Oracle数据库系统正常工作和运行所必须的组件及其实现。从大的方面讲,这主要包括实例和数据库。在此基础上细分,实例由相关内存区域和服务进程组成,数据库包括各种相关文件,而这些相关内存区域、服务进程及相关文件又可再进一…...
webpack具体实现--未完
1、前端模块打包工具webpack webpack 是 Webpack 的核心模块,webpack-cli 是 Webpack 的 CLI 程序,用来在命令行中调用 Webpack。webpack-cli 所提供的 CLI 程序就会出现在 node_modules/.bin 目录当中,我们可以通过 npx 快速找到 CLI 并运行…...
【Git】修改提交信息(单次、批量)
文章目录 修改最近一次 commit 的提交信息修改某次 commit 的提交信息方法总结 修改最近一次 commit 的提交信息 git commit --amend -m "new message"修改某次 commit 的提交信息 git log --oneline 运行结果如下2f80f1b commit 4 9ee990a 第三次提交 40f2f03 comm…...
Grafana Panel组件跳转、交互实现
程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …...
CentOS 7 等保测评踩坑记:手把手教你用脚本升级OpenSSH到9.6p1(附完整回滚方案)
CentOS 7 等保合规实战:OpenSSH 9.6p1 升级全流程与风险控制手册 当企业服务器面临等保测评时,OpenSSH 版本漏洞往往是高频整改项。去年某金融客户就因 SSH 弱版本导致测评扣分,最终通过系统化升级方案在复测中获得满分。本文将分享从沙箱测试…...
实时反馈断层、特征偏移误判、推理链路静默降级……AI灰度发布6大暗礁(含可观测性埋点配置清单)
第一章:AI原生软件研发灰度发布策略设计 2026奇点智能技术大会(https://ml-summit.org) AI原生软件具备模型动态加载、推理路径可编程、反馈闭环实时驱动等特性,其灰度发布不能简单复用传统微服务的流量切分逻辑,而需耦合模型版本、特征服务…...
3分钟掌握Vue大屏自适应:终极解决方案让复杂布局轻松适配
3分钟掌握Vue大屏自适应:终极解决方案让复杂布局轻松适配 【免费下载链接】v-scale-screen Vue large screen adaptive component vue大屏自适应组件 项目地址: https://gitcode.com/gh_mirrors/vs/v-scale-screen 还在为不同屏幕尺寸的大屏项目头疼吗&#…...
域环境 vs 工作组:Windows Server 2008用net use挂载共享的权限陷阱大全
域环境与工作组混合架构下的共享挂载权限深度解析 在企业IT基础设施中,Windows Server 2008仍广泛存在于各类生产环境。当管理员需要跨域环境和工作组混合架构管理共享资源时,net use命令挂载网络共享的权限问题往往成为最隐蔽的"暗礁"。本文…...
在Blender中实现3MF格式的终极导入导出:5分钟快速上手指南
在Blender中实现3MF格式的终极导入导出:5分钟快速上手指南 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 想要在Blender中无缝处理3D打印专用的3MF文件格式吗…...
Nunchaku FLUX.1-dev 操作系统兼容性指南:Windows系统部署要点
Nunchaku FLUX.1-dev 操作系统兼容性指南:Windows系统部署要点 如果你是一名Windows开发者,想在自己的电脑上跑起来Nunchaku FLUX.1-dev,那你来对地方了。我知道,很多AI模型和工具的教程,默认都是给Linux或者macOS用户…...
PDF提取不求人:MinerU镜像开箱即用,支持GPU加速
PDF提取不求人:MinerU镜像开箱即用,支持GPU加速 1. 引言:告别繁琐的PDF提取工作 在日常工作和研究中,我们经常需要从PDF文档中提取内容。无论是学术论文、技术报告还是商业文档,PDF格式因其良好的排版保持能力而广受…...
Vibe Coding:用“氛围感”重塑编程
Vibe Coding(氛围编程)是由OpenAI联合创始人Andrej Karpathy于2025年初提出的编程新范式,核心是通过自然语言描述需求,由AI生成代码,开发者角色从"编码者"转变为"需求引导者"和"结果优化者&q…...
NotaGen AI音乐生成:5分钟快速部署,零基础创作古典音乐
NotaGen AI音乐生成:5分钟快速部署,零基础创作古典音乐 1. 从零开始部署NotaGen 1.1 环境准备 NotaGen已经预置在Docker镜像中,无需额外安装依赖。您只需要: 确保系统已安装Docker(推荐版本20.10)拥有至…...
如何快速掌握Node.js MySQL驱动:纯JavaScript实现的终极指南
如何快速掌握Node.js MySQL驱动:纯JavaScript实现的终极指南 【免费下载链接】mysql A pure node.js JavaScript Client implementing the MySQL protocol. 项目地址: https://gitcode.com/gh_mirrors/my/mysql 前言 在Node.js生态中,数据库连接…...
