python自定义包实例

news2024/11/17 15:53:03

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

 演示

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/107561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

移动设备软件开发-AlertDialog6种使用方法

AlertDialog 1.AlertDialog的6种创建模式 1.1setMessage 1)Java代码 //1.创建构造器AlertDialog.Builder buildernew AlertDialog.Builder(this);//2.设置参数builder.setTitle("弹窗提示").setIcon(R.mipmap.boy).setMessage("选择你的性别&#xf…

什么是WMS系统?WMS系统有什么功能

科技进步促使的数字化转型正在为大多数行业铺平道路,并重新定义它们在各个方面的功能,物流行业也不例外,因为它见证了日常运营的重大转变。改变物流行业的关键之一就是WMS系统的引入。仓储一直是运输和物流部门的核心支柱,随着新工…

基于Vue+Express+Mysql开发的手机端电影购票系统(附源码)

基于VueExpressMysql开发的手机端电影购票系统 基于手机的电影购票系统-VueNode 一个VueExpressMysql的电影售票项目 项目完整源码下载 https://download.csdn.net/download/DeepLearning_/87327200 前端展示 后台展示 项目说明 项目目录 ├── film 前端页面项目文件 …

HTML CSS JS游戏网页设计作业「响应式高端游戏资讯bootstrap网站」

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

windows上datax的使用记录

datax使记录 简介 https://github.com/alibaba/DataX DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(O…

[洛谷]P1449 后缀表达式

[洛谷]P1449 后缀表达式一、问题描述:题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示二、思路分析1、算法标签2、思路三、代码实现一、问题描述: 传送门:[洛谷]P1449 后缀表达式 题目描述 所谓后缀表达式是指这样的一个表达式…

DJ14 简单接口电路及应用

目录 一、I/O 接口 1. 接口和端口的关系 2. 接口的基本结构 3. 8086/8088 端口编址 二、简单接口芯片 1. 74LS244 三态门 2. 74LS273 锁存器 3. 74LS374锁存器 4. 综合应用 三、基本输入输出方式 1. 无条件传送方式 2. 查询工作方式 一、I/O 接口 1. 接口和端口的…

校招面试真题 | 你的期望薪资是多少?为什么?

很多人去面试的时候,就像打游戏,过五关斩六将,终于到最后一关了,但是谈薪资的难度堪比打游戏中搞定终级 boss 的难度,真的是太「南」了,好多人都是因为这个问题让自己五味杂陈呀。报高了怕好 offer 失之交臂…

基因编辑相关最新研究进展(2022年12月)

【1】西湖大学马丽佳团队开发新型CRISPR脱靶和DNA易位检测工具 2022-12-15报道,2022年12月12日,西湖大学生命科学学院马丽佳团队在 Nature Communications 期刊发表了题为:PEAC-seq adopts Prime Editor to detect CRISPR off-target and DN…

C++11标准模板(STL)- 算法(std::next_permutation)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 产生某个元素范围的按字典…

Spring Cloud 2022.0.0 正式发布,代号 “Kilburn“

Spring Cloud 2022.0.0 已正式发布。 获取地址&#xff1a;https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-dependencies/2022.0.0/ Spring Cloud 为开发人员提供了工具&#xff0c;以快速构建分布式系统中的某些常见模式&#xff08;例如&#xff1a…

java中的垃圾回收算法

java中有四种垃圾回收算法&#xff0c;分别是&#xff1a; 标记清除法、标记整理法、复制算法、分代收集算法 1、标记清除法: 第一步:利用可达性去遍历内存&#xff0c;把存活对象和垃圾对象进行标记; 第二步:在遍历一遍&#xff0c;将所有标记的对象回收掉; 特点:效率不行…

Java+MySQL基于ssm的超市进销存会员管理系统

随着我国经济的高速增长,各类超市和便利店也是越来越多,超市和便利店的出现,方便了人们对于日常生活消费的需要,为了能够更好的对超市的顾客进行服务,大多数超市提出了会员的机制,通过这种机制来增加用户的黏度,在给用户提供更好的服务的同时也提高了营业额。 超市会员管理系统…

转行,你考虑清楚了吗?

“我为什么离开中石油”写完后&#xff0c;引发了不少人的共鸣&#xff0c;一些在工作中苦苦挣扎、渴望转行的朋友&#xff0c;在微信上询问我转行情况和转行建议。 非常感谢朋友们的关心和信任&#xff0c;然而我并非什么职业规划大师&#xff0c;只是一个在石油圈混了五年的…

ChatGPT进化的秘密

本文作者&#xff0c;符尧 yao.fued.ac.uk&#xff0c;爱丁堡大学 (University of Edinburgh) 博士生&#xff0c;本科毕业于北京大学&#xff0c;与彭昊&#xff0c;Tushar Khot 在艾伦人工智能研究院 (Allen Institute for AI) 共同完成英文原稿&#xff0c;与剑桥大学郭志江…

搞懂Redis 数据存储原理,别只会 set、get 了

我的核心模块如图 1-10。 图 1-10 Client 客户端&#xff0c;官方提供了 C 语言开发的客户端&#xff0c;可以发送命令&#xff0c;性能分析和测试等。 网络层事件驱动模型&#xff0c;基于 I/O 多路复用&#xff0c;封装了一个短小精悍的高性能 ae 库&#xff0c;全称是 a si…

【C语言】函数的声明_函数定义_函数调用_函数递归 [函数的基本使用]

文章目录前言1.函数是什么?2.C语言中函数的分类2.1 库函数2.2 自定义函数3.函数的参数3.1 实际参数&#xff08;实参&#xff09;&#xff1a;3.2 形式参数&#xff08;形参&#xff09;&#xff1a;4.函数的调用4.1 传值调用4.2 传址调用4.3 练习5.函数的嵌套调用和链式访问5…

羊没羊,好像也没那么重要了!

疫情管控刚一放开&#xff0c;我就一直在想&#xff0c;如何降低羊&#x1f411;的概率和影响。​由于家里老人身体不太好&#xff0c;孩子年龄又太小&#xff0c;加上只有我一个人整天在外面跑&#xff0c;感染的几率最大。所以最后想了一下&#xff0c;决定先在外面租个房子&…

零基础学编程,怎么开始学习?

编程零基础的话&#xff0c;我先建议你看一些经典的书籍&#xff0c;抑或是通俗易懂的计算机常识书。 这几本书各有千秋&#xff0c;我参考了我自己尝试过的几种方法&#xff0c;可以为你选择最适合你的学习方法提供一种参考。首先要判断你的决心有多大&#xff0c;一则花费金…

华为云会议,开会就是如此简单

现在工作节奏加快&#xff0c;高效沟通&#xff0c;快速决策&#xff0c;立刻执行成为组织提升整体效益的关键&#xff0c;而会议作为企业之间重要的沟通工具&#xff0c;被广泛的应用于日常工作中&#xff0c;云会议更可以跨越时空的限制&#xff0c;更为方便快捷。 华为云会议…