python自定义包实例

了解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"))

 演示

 

 

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳862

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值