前言🚀🚀
在开发过程中,笔者积累了许多实用的Python工具函数和模块,决定将它们整理成一个工具库集合,并与大家分享。本文将介绍笔者的Python工具库集合的核心功能和用途,
在日常的Python开发中,笔者经常遇到一些重复性任务和常见的问题。我开始将常用的Python工具函数记录下来,以简化这些任务并提供高复用的解决方案。随着时间的推移,我逐渐形成了一个有用的工具库集合( 当然,还不够完善!!!)
逐渐地,这个工具库集合对我来说非常实用,它简化了我的工作流程,提供了高度复用的解决方案。笔者意识到,这些工具函数也可能对其他Python开发者有所帮助和启发。
遂在这里给读者做一下分享,希望这个工具库集合能为读者们提供一些便利和解决问题的思路。
工具库概述
这是一个 非常接地气的日常的Python工具库,如常见的 日期处理、打开Json、Excel文件、保存文件、图片处理、Windows窗口操作等等操作,它都有。
读者朋友们可以在我的GitHub项目中找到完整的源代码。链接:https://github.com/Frica01/python-utils
项目组织🐷🐷
目前工具库的各种工具如下所示,当然,我将继续维护和更新我的Python工具库集合,以提供更多功能和改进现有功能。
工具库的功能如下所示,基本上看文件 utils文件的名称,就可以知道该文件有什么功能。
python-utils/
├── utils/
│ ├── __init__.py
│ ├── config_utils.py
│ ├── date_utils.py
│ ├── docx_utils.py
│ ├── excel_utils.py
│ ├── file_utils.py
│ ├── html_utils.py
│ ├── json_utils.py
│ ├── network_utils.py
│ ├── os_utils.py
│ ├── pdf_utils.py
│ ├── photo_utils.py
│ ├── string_utils.py
│ ├── window_utils.py
│ └── more_utils.py
├── installer.py
├── main.py
├── LICENSE
├── README.md
└── requirements.txt
说明:
-
python-utils/
是项目的根目录。 -
utils/
是存放工具模块的目录。 -
__init__.py
是一个空文件,用于将utils
目录标记为 Python 包。 -
其他的
utils
模块文件包括了各种功能的工具函数。 -
installer.py
是自动安装模块,可以用于为工具自动安装依赖模块。 -
main.py
是项目的入口文件,可以用于演示和测试工具模块的功能。 -
LICENSE
是项目的许可证文件,用于声明代码的使用许可。 -
README.md
是项目的说明文件,可以在其中提供有关项目的详细信息、使用说明等。 -
requirements.txt
是项目的依赖文件,列出了项目所需的第三方库和版本信息。
部分代码展示
date日期工具 (date_utils.py)
这个模块包含了一些常用的日期和时间处理函数。它可以帮助你进行日期格式转换、日期计算、时区转换、获取日期区间等操作。无论是处理时间戳、解析日期字符串还是格式化日期输出,这个模块都能提供便捷的功能。
from datetime import datetime, timedelta
def get_date_range(start_date, end_date, date_format='%Y-%m-%d', is_string=False) -> list:
"""
取日期范围
"""
try:
start_date = datetime.strptime(start_date, date_format)
end_date = datetime.strptime(end_date, date_format)
except ValueError as e:
raise ValueError(f"Invalid date format: {e}")
date_list = list()
while start_date <= end_date:
if is_string:
date_list.append(start_date.strftime(date_format))
else:
date_list.append(start_date)
start_date += timedelta(days=1)
return date_list
def date_diff_days(start_date, end_date) -> int:
"""
计算两个日期之间的差异
"""
try:
if isinstance(start_date, str):
start_date = start_date.replace('/', '-')
start_date = datetime.strptime(start_date, '%Y-%m-%d')
if isinstance(end_date, str):
end_date = end_date.replace('/', '-')
end_date = datetime.strptime(end_date, '%Y-%m-%d')
return (end_date - start_date).days
except ValueError:
raise ValueError(f"Invalid date format, input the YYYY-MM-DD")
def date_str_to_date(date_str: str, format_str='%Y-%m-%d') -> datetime:
"""
将日期字符串转换为日期对象
"""
try:
return datetime.strptime(date_str, format_str)
except ValueError:
raise ValueError(f"Invalid date format, input the YYYY-MM-DD")
...
os文件工具 (os_utils.py)
这个模块包含了一些常用的文件操作函数。这个模块提供了一系列便利的文件操作函数。它可以帮助你读取和写入文件、复制和移动文件、创建和删除目录等。无论是处理文本文件、二进制文件还是目录操作,这个模块都提供了简单而强大的功能。(待更新
import os
def check_file_exists(path: str) -> bool:
"""
检查文件是否存在
"""
return os.path.exists(path=path)
def normalize_file_path(path: str) -> Union[str, bool]:
"""
标准化文件路径
"""
if not check_file_exists(path):
return False
return os.path.normpath(path=path)
def join_file_path(base_path: str, file_name: str) -> Union[str, bool]:
"""
拼接文件路径
"""
if not check_file_exists(base_path):
return False
return normalize_file_path(os.path.join(base_path, file_name))
...
功能展示 🙌🙌
生成PDF报告 (pdf_utils.py)
生成PDF报告是许多项目中常见的需求。我编写了pdf_utils.py模块,集成了PDF生成工具,并提供了简洁的接口来创建和编辑PDF文档,添加文本、图像和表格等内容。
示例代码:
from utils import pdf_utils
pdf = pdf_utils.PDFReport()
pdf.add_text("Hello, world!")
pdf.add_image("logo.png")
pdf.add_table(data)
pdf.save("report.pdf")
dict保存为json
- 传入对应的Python的dict与保存的excel文件路径,就可以保存为excel文件啦。
from utils import dict_to_excel
if __name__ == "__main__":
if __name__ == '__main__':
dict_to_excel(
data_dict={'name': ['张三', '李四', '王五'], 'age': [18, 19, 20]},
file_path='./demo.xlsx'
)
操作Windows窗口
- 这份代码使用非常简单,只需要传入窗口的标题即可(例如窗口为
微信
- 在做Python自动化时候,非常有用。
from utils import (
minimize_window,
maximize_window,
set_top_window,
close_window,
hide_window,
show_window
)
if __name__ == '__main__':
# 最大化窗口
minimize_window(title='微信')
# 最小化窗口
maximize_window(title='微信')
# 置顶窗口
set_top_window(title='微信')
# 关闭窗口
close_window(title='微信')
# 隐藏窗口
hide_window(title='微信')
# 显示窗口
show_window(title='微信')
更新和未来计划 ✨✨
读者朋友们可以在我的GitHub项目中找到完整的源代码。链接:https://github.com/Frica01/python-utils
我将继续维护和更新我的Python工具库集合,以提供更多功能和改进现有功能。
同时,笔者计划添加更多的示例代码和文档(准备ing),帮助开发者更好地理解和使用这些工具。
并且鼓励读者们也加入其中,分享你们的工具函数或对现有函数的改进。通过集体的努力和贡献,我们可以共同成长,共享知识,让这个工具库集合变得更加强大和有用。
使用建议 🐓🐓
基本上,代码的注释写的都很清楚了。使用上看建议就足矣。
为了更好地使用笔者的Python工具库集合,我提供以下使用建议:
- 在使用工具库之前,阅读相应的文档和示例代码,以了解函数和模块的用法;
- 及时更新工具库,以获取最新的功能和修复已知的问题;
- 如果您有任何问题、建议或发现了bug,欢迎随时联系笔者或提交 Issues。
后话
本次分享到此结束,文章来源:https://www.toymoban.com/news/detail-478334.html
see you~~🐱🏍🐱🏍文章来源地址https://www.toymoban.com/news/detail-478334.html
到了这里,关于探索Python工具库合集:提高开发效率的秘密武器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!