【从零学习python 】58.Python中的自定义异常及引发异常的方法

简介: 【从零学习python 】58.Python中的自定义异常及引发异常的方法

自定义异常

你可以用 raise 语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是 ErrorException 类的子类。

下面是一个引发异常的例子:

class ShortInputException(Exception):
    '''自定义的异常类'''
    def __init__(self, length, atleast):
        self.length = length
        self.atleast = atleast
    def __str__(self):
        return '输入的长度是 %d, 长度至少应是 %d' % (self.length, self.atleast)
def main():
    try:
        s = input('请输入 --> ')
        if len(s) < 3:
            # raise 引发一个自定义的异常
            raise ShortInputException(len(s), 3)
    except ShortInputException as result:
        print('ShortInputException:', result)
    else:
        print('没有异常发生.')
main()

运行结果如下:

补充文件备份

制作文件的备份

输入文件的名字,然后程序自动完成对文件进行备份

参考代码

# 提示输入文件
file_name = input("请输入要拷贝的文件名字:")
# 以读的方式打开文件
old_file = open(file_name, 'rb')
# 分割文件名和后缀名
file_names =file_name.rsplit('.', maxsplit=1)
# 组织新的文件名字
new_file_name = file_names[0] + '.bak.'+file_names[1]
# 创建新文件
newFile = open(new_file_name, 'wb')
# 把旧文件中的数据,一行一行的进行复制到新文件中
for lineContent in old_file.readlines():
    newFile.write(lineContent)
# 关闭文件
old_file.close()
newFile.close()

相关文章
WK
|
27天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
70 36
|
12天前
|
存储 JSON API
如何自定义Python环境变量?
如何自定义Python环境变量?
25 3
|
1月前
|
存储 索引 Python
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
67 2
11种经典时间序列预测方法:理论、Python实现与应用
|
1月前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
1月前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
1月前
|
机器学习/深度学习 人工智能 架构师
Python学习圣经:从0到1,精通Python使用
尼恩架构团队的大模型《LLM大模型学习圣经》是一个系统化的学习系列,初步规划包括以下内容: 1. **《Python学习圣经:从0到1精通Python,打好AI基础》** 2. **《LLM大模型学习圣经:从0到1吃透Transformer技术底座》**
Python学习圣经:从0到1,精通Python使用
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
398 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
机器学习/深度学习 人工智能 架构师
|
1月前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
83 0
下一篇
无影云桌面