Python实现自定义包的实例详解
阳862 人气:0一.实例:自定义包
创建一个自定义包,名称为:my_utils (我的工具),在包内提供2个模块
1.str_util.py(字符串相关工具,内含:)
- 函数: str_reverse(s),接受传入字符串,将字符串反转返回
- 函数: substr x. y),按照下标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 file
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"))
演示
加载全部内容