Python 自定义包与模块开发实战:字符串与文件处理工具封装
本文详细演示如何在 PyCharm 中创建名为 my_utils 的自定义 Python 包,并封装 str_util 和 file_util 两个核心模块。内容涵盖字符串反转与切片函数的编写,以及文件信息的读取、异常处理、追加写入等文件操作函数的实现。通过完整的代码示例与导入演示,帮助开发者掌握 Python 模块化开发的标准流程与最佳实践。
一、实例:自定义包
本例旨在构建一个名为 my_utils 的自定义包,该包名称意为“我的工具”,内部将包含两个独立的模块文件。
1. str_util.py(字符串相关工具模块,包含以下函数)
- 函数 str_reverse(s):接收一个字符串参数 s,执行反转操作并返回结果。
- 函数 substr(s, x, y):接收字符串 s 及两个整数下标 x 和 y,根据指定范围对字符串进行切片处理。
2. file_util.py(文件处理相关工具模块,包含以下函数)
- 函数 print_file_info(file_name):接收文件路径参数,尝试读取并打印文件全部内容。若文件不存在则捕获异常并输出提示信息,同时确保在 finally 代码块中关闭文件对象以释放资源。
- 函数 append_to_file(file_name, data):接收文件路径及待写入数据,将数据追加至文件末尾。
二、详细实现步骤
以下操作基于 PyCharm 集成开发环境进行演示。
1. 新建 my_utils 包

2. 在包内新建 str_util.py 和 file_util.py 两个 Python 源文件

3. str_util.py 模块的具体代码实现如下
def str_reverse(s):
"""
功能:将字符串反转
s:将被反转的字符串
return:反转后的字符串
"""
return s[::-1]
def substr(s,x,y):
"""
功能是按照给定的下标完成给定字符串的切片
s:即将切片的字符串
x:切片的开始下标
y:切片的结束下标
return:切片完成后的字符串
"""
return s[x:y]
if __name__ == '__main__':
print(str_reverse("好好学习!"))
print(substr("床前明月光,疑是地上霜。",2,6))运行演示

4. file_util.py 模块的具体代码实现如下
def print_file_info(file_name):
f=None
try:
f=open(file_name,"r",encoding="utf-8")
count=f.read()
print("文件内容有:")
print(count)
except Exception as e:
print("文件出现了问题,程序无法运行")
finally:
if f:#如果变量是none,表示false,如果有任何内容就是true
f.close()
def append_to_file(file_name,data):
f=open(file_name,"a",encoding="utf-8")
f.write(data)
f.write("\n")
f.close()#close自带flush功能,并且文件不存在时会自动生成,所以不需要判断文件是否存在
if __name__ == '__main__':
append_to_file("D:\game.txt","weasdfad_sdf")
print_file_info("D:\game.txt") 运行演示

5. 在主程序中导入并使用 my_utils 包
import my_utils.str_util
from my_utils import file_util
print(my_utils.str_util.str_reverse("abcdefg!"))
print(my_utils.str_util.substr("sdf_123",0,4))
print("-----------------")
print(file_util.append_to_file("D:/game.txt","345_jhg"))
print(file_util.print_file_info("D:/game.txt"))导入与调用演示

至此,关于 Python 实现自定义包的实例详解已介绍完毕。如需了解更多 Python 自定义包相关内容,建议搜索本站过往文章或继续阅读后续相关教程,感谢支持。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









