以包目录结构模块,以*.py脚本收纳模块。
(笔记模板由python脚本于2024年10月25日 18:39:10创建,本篇笔记适合编程基础的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ 与ai聊我的代码架构
- 1、话题
- 2、“包目录结构”示例
- 3、小“工具”只引用python内建工具
- 4、“自制”仅是“没有”
- 5、“自制”是为了更好的复用
- 6、“技巧”在于沉淀
- 7、“功能模块”的*.py包脚本封装
- 8、给ai学伴分享我拟定的本笔记标题
- 9、在csdn个性自己的小“技巧”
- 9.1 文本“样式”标识
- 9.2 类\<font\>的小工具
◆ 与ai聊我的代码架构
1、话题
题目描述截屏图片
#!/usr/bin/env python311'''本脚本名称:readme.py'''tip = '''本目录下的工具,皆为方便自己复用代码而制作。考虑兼容友好,“工具”所引用的工具,全是Python内建捆绑,勿须额外pip。“工具”列表:1、名称,功能2、名称,功能3、名称,功能'''print(f"\n\n{' Star Moon Tools Readme ':=^42}\n\n{tip}\n\n{'':=^42}")
【我想以包目录结构“自己的python工具”。
您觉得要不要得。😋😋】
2、“包目录结构”示例
创建一个名为 “自己的python工具” 的包目录结构来组织和管理您的 Python 工具是很好的做法。这样可以使您的代码更加模块化,便于管理和维护。
以下是一种可能的包目录结构:
自己的python工具/
│
├── __init__.py # 包初始化文件
│
├── tool1/ # 第一个工具的子包
│ ├── __init__.py
│ └── main.py # 工具1的主要实现
│
├── tool2/ # 第二个工具的子包
│ ├── __init__.py
│ └── main.py # 工具2的主要实现
│
└── utils/ # 公共函数或辅助工具的子包├── __init__.py└── common.py # 公共函数的实现
在这个结构中,每个工具都有自己的子包,其中包含该工具的主要实现文件(例如 main.py )。同时,还有一个 utils 子包用于存放公共函数或辅助工具,这些可以在不同的工具之间共享。
通过这种方式,您可以保持代码的组织性和可读性,同时也方便了其他开发者理解和贡献到您的项目中。
3、小“工具”只引用python内建工具
截屏图片展示
4、“自制”仅是“没有”
“自制”,不是为炫技徒劳,只是因为“淘”不到适宜的工具,无奈而已。😋
截屏图片展示
5、“自制”是为了更好的复用
这想法主要源于自己对所编撰代码的复用,且便于维护自己工作和学习中用到的对应“模块”。“升级了我的小工具”,我的代码所有引用该模块的地方也会“自动”完成更迭。😎😎
如需分享代码,将“我的包”一同“打包”就好。“我的包”相对原始+上我配备的简单readme,也不是难以理解。😜😜😜
截屏图片展示
6、“技巧”在于沉淀
截屏图片展示
read_html(url)
def read_html(url: str, decoding: str = 'utf-8') -> str:'''读取页面文本。参数:url (str): 要读取的网页的URL。decoding (str): 用于解码网页内容的字符集,默认为 'utf-8'。返回:str: 网页的HTML内容。异常:ValueError: 如果URL不是字符串或无法访问。'''if not isinstance(url, str):raise ValueError(f"\n\n{' URL must be a string.(url必须是字符串。) ':-^35}\n\n")try:with urllib.request.urlopen(url) as response:return response.read().decode(decoding)except urllib.error.HTTPError as e:raise ValueError(f"\n\n{' HTTP error occurred(http异常) ':-^40}\n\n{e.code} - {e.reason}\n\n")except urllib.error.URLError as e:raise ValueError(f"\n\n{' URL error occurred(url异常) ':-^40}\n\n{e.reason}\n\n")except Exception as e:raise ValueError(f"\n\n{' An error occurred(其它异常) ':-^38}\n\n{e}\n\n")
截屏图片展示
# 使用read_html函数获取网页内容
url = 'http://example.com'
html_content = read_html(url)# 现在您可以继续处理html_content,而不用关心如何获取它
print(html_content)
通过这种方式,您的代码变得更加模块化和整洁,同时也为其他人(或未来的您)提供了清晰的接口来使用这些功能。继续这样的实践,您的编程技能将会更加精湛。😊👍
7、“功能模块”的*.py包脚本封装
read_sort()
阅读量排序模块
def read_sort():''' 阅读量排序列表 '''start = time()ids, n = get_key_ids()readeds = []print('\n') # 打印空行。for i in ids:tip_runing()article_info = get_readed(i[0])article_info = {k: v for k,v in article_info if v and v!= '0'} # 剔除零值数据项,生成博文笔记浏览阅读等信息字典。if not article_info: # 浏览阅读数据为空,跳过本次遍历。continuefor i in ('\u2003', '"', '??????', '我的HOT博', '&msp' ' ', 'python 3.6.6', 'coding:'): # 遍历删除无意义文章摘要。if i in article_info.get('摘要', ''):del article_info['摘要']breakelif len(article_info.get('摘要', '')) >= len(article_info.get('标题', '')):if article_info.get('摘要'):del article_info['摘要'] # 摘要不比标题标题长,删除摘要。break if article_info.get('作者'):del article_info['作者'] # 作者都是我自己,删除。readeds += [article_info]readeds.sort(reverse=True, key=lambda x: x.get('浏览阅读', 0)) # 按浏览阅读排降序。#print('\n\n'.join(map(str, readeds))) # 终端屏幕打印。S = time() - startS = f"{S//60:.0f}分{S%60:.1f}秒" if S > 60 else f"{S%60:.1f}秒"return readeds, f"本次共计收集{len(readeds)}篇博文笔记信息,总阅读量{sum([i.get('浏览阅读', 0) for i in readeds])/10000:.2f}w。数据采集于{my_strftime()},用时{S}。"
str_url(article_info)
csdn学习笔记阅读量等数据格式输出模块:
def str_url(article_info):''' 格式化文章阅读量信息 '''d = article_inforeaded = d.get('浏览阅读', 0)if not readed:url = f"{myUrlRoot}{d.get('ID', '')}"print(f"\n{url}")if readed >= 10000:color = 'gold'size = 5elif 8000 <= readed < 10000:color = 'purple'size = 4elif 6000 <= readed < 8000:color = 'scarlet'size = 4elif 5000 <= readed < 6000:color = 'red'size = 3elif 4000 <= readed < 5000:color = 'orange'size = 3elif 2000 <= readed < 4000:color = 'green'size = 3elif 1000 <= readed < 2000:color = 'cyan'size = 3elif 500 <= readed < 1000:color = 'blue'size = 3elif 100 <= readed < 500:color = 'black'size = 2else:color = 'gray'size = 2readed = f"{readed/10000}w" if readed >= 10000 else f"{readed/1000}k" if 1000 <= readed < 10000 else readed # 格式化千万浏览阅读量数值。url = f"{my_urlroot}{d.get('ID')}"thumbs_up = f"点赞:{d.get('点赞')} " if d.get('点赞') else ''collect = f"收藏:{d.get('收藏')} " if d.get('收藏') else ''comment = f"评论:{d.get('评论')}" if d.get('评论') else ''thumbs_ups = f"\n<br>{''.join([thumbs_up, collect, comment])}" if thumbs_up or collect or comment else '' abstract = f"\n<br>摘要:{d.get('摘要')}。" if d.get('摘要') else ''edit_time = f"\n<br>(本篇笔记于{d.get('首次发布')}首次发布,最后修改于{d.get('最后编辑')})" if d.get('首次发布') else ''return f"<a href='{url}' target=_blank>{d.get('标题')}</a>\n<br>地址:<a href='{url}' target=_blank>{url}</a>\n<br>浏览阅读:<font color='{color}' size={size}>{readed}</font>{thumbs_ups}<font color='gray' size=2>{abstract}{edit_time}</font>\n<br> "
截屏图片展示
8、给ai学伴分享我拟定的本笔记标题
截屏图片展示
9、在csdn个性自己的小“技巧”
在“平台”排布文字,您是不可以大展拳脚滴,您是高级前缀也会被压制,施展不开乾坤大挪移都和降龙十八掌天级神技。😋 C S S CSS CSS再美, J a v a S c r i p t JavaScript JavaScript再强,都只能望“台”兴叹,无用武之地。🤗
还好!有文本样式的小标签可以,一样能搞点“小动作”。😎😎💪💪
9.1 文本“样式”标识
截屏图片展示
9.2 类<font>的小工具
截屏图片展示
上一篇: “平铺”代码的有效精减(自定义函数def封装复用,class集成“公共”操作都是优质高效的手段)
下一篇:
我的HOT博:
本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。
-
001
标题:让QQ群昵称色变的神奇代码
(浏览阅读 5.9w )
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:25 收藏:86 评论:17
摘要:让QQ昵称色变的神奇代码。
首发:2022-01-18 19:15:08
最后编辑:2022-01-20 07:56:47 -
002
标题:Python列表(list)反序(降序)的7种实现方式
(浏览阅读 1.1w )
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:8 收藏:35 评论:8
摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
首发:2022-12-11 23:54:15
最后编辑:2023-03-20 18:13:55 -
003
标题:pandas 数据类型之 DataFrame
(浏览阅读 9.7k )
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:7 收藏:36
摘要:pandas 数据类型之 DataFrame_panda dataframe。
首发:2022-05-01 13:20:17
最后编辑:2022-05-08 08:46:13 -
004
标题:个人信息提取(字符串)
(浏览阅读 8.2k )
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:2 收藏:15
摘要:个人信息提取(字符串)_个人信息提取python。
首发:2022-04-18 11:07:12
最后编辑:2022-04-20 13:17:54 -
005
标题:Python字符串居中显示
(浏览阅读 7.6k )
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
评论:1 -
006
标题:罗马数字转换器|罗马数字生成器
(浏览阅读 7.5k )
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
摘要:罗马数字转换器|生成器。
首发:2022-01-19 23:26:42
最后编辑:2022-01-21 18:37:46 -
007
标题:回车符、换行符和回车换行符
(浏览阅读 6.0k )
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:2 收藏:3
摘要:回车符、换行符和回车换行符_命令行回车符。
首发:2022-02-24 13:10:02
最后编辑:2022-02-25 20:07:40
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)