了解python中的异常捕获与传递请点击“python中的异常捕获与传递”
了解python中的模块与包详解请点击“python中的模块与包详解”
目录
一.实例:自定义包
二.详解
1.新建my_utils包
2.新建str_util.py和file_util.py两个python file
3.str_util.py中的代码
演示
4.file_util.py的代码
演示
5.导入my_utils包
演示
一.实例:自定义包
创建一个自定义包,名称为: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"))
演示