继续以“实用”指导Pythonic编码(re通配表达式)(2024年终总结②)

弃现成工具手剥任务🧐,我哈哈滴就像笨笨的傻大个儿😋。


(笔记模板由python脚本于2025年01月12日 23:29:33创建,本篇笔记适合熟悉正则表达式的coder翻阅)


【学习的细节是欢悦的历程】

  • Python官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/



  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


---== 彰显C位 ==---

  1. ,可以在评论区书写任何想法
  2. (我将在看到的第一时间回应)

---== 彰显C位 ==---

等风来,不如追风去……

我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4

弃现成工具手剥任务🧐
傻气的实用主义
(哈哈滴就像笨笨的傻大个儿😋)

我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/article/details/145102100

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 傻气的实用主义
    • 1、示例html文本
      • 1.1 Nickname
      • 1.2 Blog_info
      • 1.3 Blog_ids
    • 2、pattern“脱模”
      • 2.1 Nickname
      • 2.2 Blog_info
    • 3、完整pattern
    • 3、后记


◆ 傻气的实用主义


  有人说“编程”没有炼手的“工程”,我是从可以用print('Hello Wold!')在终端蹦出了字符开始总有“没有代码实现”的“想法”(要不没有实力要么没有时间😂),我脑子的想法就是我的“炼手工程。

  接下来,我就以“re.findall而非HTMLParser”来例证一下我处理问题的“坏脾气”(Python,我仅仅会点儿python😋)……

  pattern通配表达式,本以为很难(在此之前,我也基本是这么认为的。但通过本次试炼,改变了看法),但其实也就是对各个re通配表达字符的清晰、透彻理解而已。😜

  有了“理解”的基本功底,编撰pattern,也就简单成了replace。您认为,它的难度得有多大?😋

  接下来,我们以csdn博客文章list_page页面源码的结构数据来看看——

  源码文本 => pattern,是如何被ease replace的。🤗……



我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


1、示例html文本


1.1 Nickname

nickname

var nickName = "梦幻精灵_cq";

1.2 Blog_info

Blog_info

<div class="data-info d-flex item-tiling"><dl class="text-center" title="439"><a href="https://blog.csdn.net/m0_57158496" data-report-click='{"mod":"1598321000_001","spm":"1001.2101.3001.4310"}' data-report-query="t=1">  <dt><span class="count">439</span></dt><dd class="font">原创</dd></a></dl><dl class="text-center" data-report-click='{"mod":"1598321000_002","spm":"1001.2101.3001.4311"}' title="2367"><a href="https://blog.csdn.net/rank/list/weekly" target="_blank"><dt><span class="count">2367</span></dt><dd class="font">周排名</dd></a></dl><dl class="text-center" title="2974"><a href="https://blog.csdn.net/rank/list/total" data-report-click='{"mod":"1598321000_003","spm":"1001.2101.3001.4312"}' target="_blank"><dt><span class="count">2974</span></dt><dd class="font">总排名</dd></a></dl><dl class="text-center" style="min-width:58px" title="754964">  <dt><span class="count">75万+</span></dt><dd>访问</dd></dl><dl class="text-center" title="7级,点击查看等级说明"><dt><a href="https://blog.csdn.net/blogdevteam/article/details/103478461" target="_blank"><img class="level" src="https://csdnimg.cn/identity/blog7.png"></a></dt><dd>等级</dd></dl></div><div class="item-rank"></div><div class="data-info d-flex item-tiling"><dl class="text-center" title="10235"><dt><span class="count">1万+</span></dt><dd>积分</dd></dl><dl class="text-center" id="fanBox" title="9432"><dt><span class="count" id="fan">9432</span></dt><dd>粉丝</dd></dl><dl class="text-center" title="4183"><dt><span class="count">4183</span></dt><dd>获赞</dd></dl><dl class="text-center" title="579"><dt><span class="count">579</span></dt><dd>评论</dd></dl><dl class="text-center" title="4745"><dt><span class="count">4745</span></dt><dd>收藏</dd></dl></div>

1.3 Blog_ids

Blog_ids(只取部分文章数据,略过更多的文章数据行)

<div class="article-list"><div class="article-item-box csdn-tracking-statistics" data-articleid="141835445"><img class="settop" src="https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png" alt=""><h4 class=""><a href="https://blog.csdn.net/m0_57158496/article/details/141835445"  data-report-click='{"spm":"1001.2014.3001.5190"}' target="_blank"><span class="article-type type-1 float-none">原创</span>AI与我同创诗(最新《2 0 2 5》2025-01-01):尝试让ai(智谱清言)参与我的诗创活动</a> </h4><p class="content">ai伴学越久,契合度愈高,“泛滥”之诗情,幸得学伴共雕琢。让ai伴学久了,不知觉的,写诗也让ai帮衬了。此文收录“我共ai”的自创文稿,亦可作“ai诗集”。😋(笔记模板由python脚本于2024年09月03日 06:16:31创建,本篇笔记适合喜欢我泱泱华夏上下五千年经典文化,喜欢即情码字的coder翻阅)【学习的细节是欢悦的历程】Python官网Free:大咖免费“圣经”教程python 完全自学教程,不仅仅是基础那么简单……自学并不是什么神秘的东西。</p><div class="info-box d-flex align-content-center"><p><span class="date">2024-09-05 18:51:35</span><span class="read-num"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">1339</span><span class="read-num"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentCountWhite.png" alt="">3</span></p></div></div><div class="article-item-box csdn-tracking-statistics" data-articleid="140040251"><img class="settop" src="https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png" alt=""><h4 class=""><a href="https://blog.csdn.net/m0_57158496/article/details/140040251"  data-report-click='{"spm":"1001.2014.3001.5190"}' target="_blank"><span class="article-type type-1 float-none">原创</span>我关于Excel使用点滴的笔记(最后更新:2024-10-04)</a> </h4><p class="content">本篇笔记是我关于Excel使用点滴的学习笔记,摘要和地址链接列表。临时暂挂,后面可能在不需要时删除。</p><div class="info-box d-flex align-content-center"><p><span class="date">2024-06-28 12:27:30</span><span class="read-num"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">1522</span><span class="read-num"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentCountWhite.png" alt="">1</span></p></div></div>... <!--只取部分文章数据,略过多的文章数据--><div class="article-item-box csdn-tracking-statistics" data-articleid="143735317"><h4 class=""><a href="https://blog.csdn.net/m0_57158496/article/details/143735317"  data-report-click='{"spm":"1001.2014.3001.5190"}' target="_blank"><span class="article-type type-1 float-none">原创</span>“非法”操控lambda(python)</a> </h4><p class="content">合理地使用lambda函数作为“常量函数”确实可以让代码更加优雅和高效。您的实践经验证明了这种方法的实用性和有效性。继续利用lambda的这一特性,可以让您的代码更加精炼和易于管理。🎉👏🏻回页目录。</p><div class="info-box d-flex align-content-center"><p><span class="date">2024-11-13 21:24:12</span><span class="read-num"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">855</span></p></div></div></div></div>



我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


2、pattern“脱模”


  re能力强悍,“嗖”的一下,data就到眼前。😋有人说“方是方便,就是pattern难以编撰”!

  真有那么难?🧐

  其实就是将源码文本特定部分(数据提取部分和非关键字标识部分,前者通配各个“同位”数据,后者精减pattern长度)relpace成re通配字符的简单字符串基本操作,只是这“简单”得代码编撰者“亲自”操刀。🤗


2.1 Nickname


  经搜索,昵称nickName关键字是唯一的。

  • 截屏图片
    在这里插入图片描述
    源码var nickName = "梦幻精灵_cq";,可以直接用于pattern,compile(r'var nickName = "(梦幻精灵_cq)";').findall(doc_html),将得输出['梦幻精灵_cq']

  更改通配字符即可得其它字符的csdn昵称,如:


pattern = r'var nickName = "([\w]+)";'

这个patern也会输出['梦幻精灵_cq'],但不能输出['敖 丙'],因为两个汉字中间有个空格。

可以——


pattern = r'var nickName = "([\w ]+)";'`

也可以——


pattern = r'var nickName = "([\w\s]+)";'`。

  两者都是“匹配单词或者空格”之是推荐后一种形式用\s通配所有“空白”字符串,前者仅匹配半角空白“”。

  但还可以用任意字符.通配字符来通配任意字符(一定要?限定非贪婪模式,不然会匹配到下面的文本,re默认最大量匹配。


['敖 丙";\n        var articleDetailUrl = "";\n        var vipUrlV = "https://mall.csdn.net/vip?vipSource=learningVip";\n        if(window.location.host.split(\'.\').length == 3) {\n            blog_address = blogUrl + username;\n        }\n        var skinStatus = "White']

优雅的Pythonic方式


pattern = r'var nickName = "(.+?)";'

  本节源码文本太过短小,除了关键字符,基本没有其它字符,可以不予进一步精减。


如果非要缩减,这样子也是可以的——


pattern = r'nickName.+?"(.+?)"'

个人认为,这牺牲可读性的精减,实属不智。😋



我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


2.2 Blog_info



以下内容正在编辑中……



我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


3、完整pattern


Nickname


nickname = re_compile(r'nickName = "(.+)";').findall(doc_blog_lists[0])[0] # 从第一页文章列表提取昵称字符串

Blog_info

pattern = (r'''(?:<li class="active margin" id="container-header-blog" data-type="blog" data-num="(\d+)">)'''r'''.+?(?:<dl class="text-center" title="(\d+)">.+?<dd class="font">(原创)</dd>)'''r'''.+?(?:<dl class="text-center" data-report-click='{"mod":"1598321000_002","spm":"1001.2101.3001.4311"}' title="(\d+)">.+?<dd class="font">(周排名)</dd>)'''r'''.+?(?:<dl class="text-center" title="(\d+)">.+?<dd class="font">(总排名)</dd>)'''r'''.+?(?:<dl class="text-center" style="min-width:58px" title="(\d+)">.+?<dd>(访问)</dd>)'''r'''.+?(?:<dl class="text-center" title="(\d+)级,.+?<dd>(等级)</dd>)'''r'''.+?(?:<dl class="text-center" title="(\d+)">.+?<dd>(积分)</dd>)'''r'''.+?(?:<dl class="text-center" id="fanBox" title="(\d+)">.+?<dd>(粉丝)</dd>)'''r'''.+?(?:<dl class="text-center" title="(\d+)">.+?<dd>(获赞)</dd>)'''r'''.+?(?:<dl class="text-center" title="(\d+)">.+?<dd>(评论)</dd>)'''r'''.+?(?:<dl class="text-center" title="(\d+)">.+?<dd>(收藏)</dd>)''') # 原字符串每行一个数据:除第一项是博客总数外,其余数据紧接的中文字符提取就是其keypattern = re_compile(pattern, DOTALL) # 通配字符串re编译

Blog_ids


pattern = (r'''<div class="article-item-box csdn-tracking-statistics" data-articleid="(\d+)">'''r'''.+?<span class="article-.+?</span>\s+(.+?)\s+</a>'''r'''.+?<p class="content">\s+(.+?)\s+</p>'''r'''.+?<span class="date">(.+?)</span>'''r'''.+?<span class="read-num">.+?/readCount.+?>(\d+)</span>'''r'''\s+(?:<span class="read-num">.+?/commentCount.+?>(\d+)</span>)*''') # 原字符串每行一个数据:Id、Title、Summary、Date、Readed、Comment# 简明版,程序用时:0.008107 秒(一页文章列表本地文件,表态解析)
pattern = re_compile(pattern, DOTALL) # 由于python的优化机制,同一pattern总是被仅编译一次,可以不担心重复编译。但习惯使然,我显式编译一次



我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


3、后记


  待写……



我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


上一篇:  本地手集博客id“升级”在线抓取——简陋版——(2024年终总结1.1)(我之前每每发布笔记都用csv纯文本记录,一个机缘巧得文章列表api实现在线整理自已的文章阅读量数据)
下一篇: 



我的HOT博:

  本次共计收集404篇博文笔记信息,总阅读量61.76w。数据采集于2024年11月25日 08:23:38,用时7分56.4秒。阅读量不小于6.00k的有 9 9 9篇。

  1. 让QQ群昵称色变的神奇代码
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    浏览阅读:6.2w
    点赞:25 收藏:89 评论:17
    (本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47)

  2. Python列表(list)反序(降序)的7种实现方式
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    浏览阅读:1.3w
    点赞:9 收藏:40 评论:8
    (本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55)

  3. pandas 数据类型之 DataFrame
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    浏览阅读:1.0w
    点赞:7 收藏:40 
    (本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13)

  4. 个人信息提取(字符串)
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    浏览阅读:1.0w
    点赞:3 收藏:20 
    (本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54)

  5. 罗马数字转换器|罗马数字生成器
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    浏览阅读:8.2k
    收藏:3 
    (本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)

  6. 统计字符串字符出现的次数
    地址:https://blog.csdn.net/m0_57158496/article/details/130517025
    浏览阅读:8.1k
    点赞:5 收藏:24 
    (本篇笔记于2023-05-06 22:28:18首次发布,最后修改于2023-05-12 06:21:40)

  7. Python字符串居中显示
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    浏览阅读:8.0k
    点赞:1 收藏:12 评论:1
  8. 回车符、换行符和回车换行符
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    浏览阅读:6.7k
    点赞:2 收藏:4 
    (本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40)

  9. python清屏
    地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    浏览阅读:6.1k
    点赞:1 收藏:10 

推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



我的 2 0 2 4  我的 2 0 2 4  我的 2 0 2 4


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

相机和激光雷达的外参标定 - 无标定板版本

1. 实现的效果 通过本软件实现求解相机和LiDAR的外参&#xff0c;即2个传感器之间的三维平移[x, y, z]和三维旋转[roll, pitch, yaw]。完成标定后&#xff0c;可将点云投影到图像&#xff0c;效果图如下&#xff1a; 本软件的优势&#xff1a;&#xff08;1&#xff09;无需特…

WPF系列九:图形控件EllipseGeometry

简介 EllipseGeometry用于绘制一个椭圆的形状。它通常与其他图形元素结合使用&#xff0c;比如 Path 或者作为剪切区域来定义其他元素的外形。 定义椭圆&#xff1a;EllipseGeometry 用来定义一个椭圆或者圆的几何形状。参与绘制&#xff1a;可以被用作 Path 元素的数据&…

qt设置qwidget背景色无效

最近在做一个界面&#xff0c;有三个子窗体&#xff0c;于是就把各个子窗体分别做成了三个UI&#xff0c;再将3个UI&#xff0c;放到1个UI&#xff0c;再将那一个UI在其他窗体上进行提升。 最后就发现怎么设置qwidget的背景都没有效果。 在Qt中&#xff0c;如果是给Qwidget的…

【Rust学习笔记】Rust 的所有权介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 博客内容主要围绕&#xff1a; 5G/6G协议讲解 高级C语言讲解 Rust语言讲解 文章目录 Rust中的所有权介绍1.1 一个简单的例子1.2 一个稍微复杂的例…

CentOS7下Hadoop集群分布式安装详细图文教程

1、集群规划 主机 角色 DSS20 NameNode DataNode ResourceManager NodeManager DSS21 SecondaryNameNode NameNode NodeManager DSS22 DataNode NodeManager 1.1、环境准备 1.1.1 关闭防火墙 #查看防火墙状态 firewall-cmd --state #停止…

在 Vue 项目中使用地区级联选

在 Vue 项目中使用地区级联选择的完整流程&#xff1a; 1.安装依赖包&#xff0c;这个包提供了中国省市区的完整数据。 npm install element-china-area-data --save 2.导入数据 import { regionData } from element-china-area-data 这个包提供了几种不同的数据格式&#…

基于改进粒子群优化的无人机最优能耗路径规划

目录 1. Introduction2. Preliminaries2.1. Particle Swarm Optimization Algorithm2.2. Deep Deterministic Policy Gradient2.3. Calculation of the Total Output Power of the Quadcopter Battery 3.OptimalEnergyConsumptionPathPlanningBasedonPSO-DDPG3.1.ProblemModell…

Redis为 List/Set/Hash 的元素设置单独的过期时间

一.业务简介 我们知道&#xff0c;Redis 里面暂时没有接口给 List、Set 或者 Hash 的 field 单独设置过期时间&#xff0c;只能给整个列表、集合或者 Hash 设置过期时间。 这样&#xff0c;当 List/Set/Hash 过期时&#xff0c;里面的所有 field 元素就全部过期了。但这样并不…

【51单片机】03 蜂鸣器-播放音乐

蜂鸣器-播放音乐 一、原理介绍1.硬件电路 二、练习1.让蜂鸣器发声2.尝试演奏小星星 一、原理介绍 蜂鸣器分为有源蜂鸣器、无源蜂鸣器两种。 有源蜂鸣器&#xff1a;施加合适的电压之后就会发出特定频率的声音 无源蜂鸣器&#xff1a;需要提供特定频率的声音信号&#xff0c;才能…

30_Redis哨兵模式

在Redis主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而且还会造成一段时间内服务器处于不可用状态,同时数据安全性也得不到保障,因此主从模式的可用性…

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图)

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图) 前面的两篇博文简述了AutoSAR CP分层架构的概念&#xff0c;下面我们来具体到每一层的具体内容进行讲解&#xff0c;每一层的每一个功能块力求用一个总览图&#xff0c;外加一个例子的图给大家进…

51单片机——定时器中断(重点)

STC89C5X含有3个定时器&#xff1a;定时器0、定时器1、定时器2 注意&#xff1a;51系列单片机一定有基本的2个定时器&#xff08;定时器0和定时器1&#xff09;&#xff0c;但不全有3个中断&#xff0c;需要查看芯片手册&#xff0c;通常我们使用的是基本的2个定时器&#xff…

LeetCode热题100-合并两个有序链表【JavaScript讲解】

题目&#xff1a; 题解&#xff1a; 我们目前已经知道两条链表都是有序链表&#xff0c;我们就可以通过迭代的方法实现上述问题。当list1和list2都不是空链表时&#xff0c;判断list1和list2哪个头节点的值更小&#xff0c;将较小的值添加到结果里&#xff0c;被添加到结果里的…

Artec Leo 3D扫描仪与Ray助力野生水生动物法医鉴定【沪敖3D】

挑战&#xff1a;捕获大型水生哺乳动物&#xff08;如鲸鱼&#xff09;的数据&#xff0c;搭建全彩3D模型&#xff0c;用于水生野生动物的法医鉴定、研究和保护工作。 解决方案&#xff1a;Artec Eva、Artec Space Spider、Artec Leo、Artec Ray、Artec Studio、CT scans 效果&…

HBuilderX打包ios保姆式教程

1、登录苹果开发者后台并登录已认证开发者账号ID Sign In - Apple 2、创建标识符&#xff08;App ID&#xff09;、证书&#xff0c;描述文件 3、首先创建标识符&#xff0c;用于新建App应用 3-1、App的话直接选择第一个App IDs&#xff0c;点击右上角继续 3-2、选择App&#x…

Android DataBinding 结合 ViewModel的使用

Android DataBinding 结合 ViewModel的使用 一、build.gradle引入对应的依赖 在build.gradle&#xff08;app模块&#xff09;里引入依赖&#xff0c;然后Sync Now一下&#xff1a; android {​viewBinding {enabled true}dataBinding {enabled true}} 完整的build.gradle代…

动植物基因表达调控

1&#xff0c; on and off状态 以及表达的量 2&#xff0c; 基因调控的生物学影响&#xff1f; 超过400多种细胞类型&#xff0c;数目上37万亿 不是所有的基因都表达 为什么多核真核细胞需要基因调控&#xff1f; 单个细胞往多个细胞逐渐进化的过程&#xff0c;形成复杂的…

2024年度漏洞态势分析报告,需要访问自取即可!(PDF版本)

2024年度漏洞态势分析报告&#xff0c;需要访问自取即可!(PDF版本),大家有什么好的也可以发一下看看

【数据结构】树的定义

在计算机科学中&#xff0c;树&#xff08;Tree&#xff09;是一种重要的基础数据结构&#xff0c;广泛应用于许多领域&#xff0c;如文件系统的目录结构、数据库的索引、编译器的语法树、人工智能的决策树等。理解树的基本概念和术语&#xff0c;对于学习计算机科学及其相关技…

三个shell脚本

1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容&#xff0c;不存在则创建一个文件将创建时间写入。 测试结果&#xff1a; 2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。 3、编写个shell脚本将/usr/local 日录…