python自定义包的综合案例分析以及实现过程

目录

1、问题描述:

2、问题分析:

3、代码实现

str_tool.py内容如下:

file_tool.py内容如下:

调用的内容为:


1、问题描述:

创建一个自定义包,名称为:my_tool,在包内提供2个模块:

str_tool.py:

函数:str_reverse(s),接受传入字符串,将字符串反转返回·

函数:substr (s, x,y),按照下标x和y,对字符串进行切片

file_tool.py:

函数:print_file_info(file_name),接收传入文件的路径,打印文件的全部内容,如文件不存在则捕获异常,输出提示信息,通过finally关闭文件对象函数

函数:append_to_file(file_name, data),接收文件路径以及传入数据,将数据追加写入到文件中

2、问题分析:

字符串反转可以用到字符串的【::-1】来实现,字符串的切片则通过【x:y:1】来实现。

文件打印可以用到open打开文件后通过read函数读取文件内容然后打印,捕获异常则需要try和except,再用finally完成关闭文件的操作。

文件内容的追加可以用到write函数实现。

3、代码实现

str_tool.py内容如下:

def str_reverse(s):
    return s[::-1]
def substr(s,x,y):
    return s[x:y:1]

if __name__ == '__main__':
    print(str_reverse('abc'))
    print(substr('abcdefg',2,5))

测试后发现功能正常

file_tool.py内容如下:

def print_file_info(file_name):
    f=None
    try:
        f=open(file_name,'r',encoding='UTF-8')
        content=f.read()
        print("文件内容为:")
        print(content)
    except Exception as e:
        print(f"文件出错了,原因是{e}")
    finally:
        if f:
            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()


if __name__ == '__main__':
    print_file_info('C:/Users\\admin\Desktop\pack.txt')
    append_to_file('C:/Users\\admin\Desktop\pack.txt','这是追加的内容')
    print_file_info('C:/Users\\admin\Desktop\pack.txt')

 

 测试后发现功能正常

调用的内容为:

import my_tool.str_tool
from my_tool import file_tool
print(my_tool.str_tool.str_reverse('xiaojunwen'))
print(my_tool.str_tool.substr('xiaojunwen',3,8))

file_tool.print_file_info('C:/Users\\admin\Desktop\pack.txt')
file_tool.append_to_file('C:/Users\\admin\Desktop\pack.txt','这是追加的内容')
file_tool.print_file_info('C:/Users\\admin\Desktop\pack.txt')

 测试后发现功能正常

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

coleak

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

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

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

打赏作者

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

抵扣说明:

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

余额充值