自定义异常
你可以用 raise
语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是 Error
或 Exception
类的子类。
下面是一个引发异常的例子:
代码语言:javascript复制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()
运行结果如下:
补充文件备份
制作文件的备份
代码语言:javascript复制输入文件的名字,然后程序自动完成对文件进行备份
参考代码
# 提示输入文件
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()