Python-异常处理+文件

目录

1.异常处理

1.简单的异常捕获

2.捕获错误类型

3.捕获未知错误

4.完整的异常语法

5.异常的传递

6.抛出异常

2.文件

1.读取文件

2.读取文件后文件指针会改变

3.写入文件

4.分行读取文件

5.复制文件

6.复制大文件

7.python字符串

8.eval计算器

1.异常处理

1.简单的异常捕获

try:
    # 不能确定正确执行的代码
    num = int(input("请输入一个整数:"))
except:
    # 错误的处理代码
    print("请输入正确的整数")

print("-" * 50)

2.捕获错误类型

# 提示用户输入一个整数
try:
    num = int(input("请输入一个整数:"))
# 使用8 除以用户输入的整数并且输出
    result = 8 /num
    print(result)
except ZeroDivisionError:
    print("请输入除0之外的数字。。。")
except TypeError:
    print("您只能输入数字。。。")
except ValueError:
    print("请输入正确的整数。。。")

3.捕获未知错误

try:
    # 提示用户输入一个整数
    num = int(input("请输入一个整数:"))
    # 使用8 除以用户输入的整数并且输出
    result = 8 /num
    print(result)
except ZeroDivisionError:
    print("请输入除0之外的数字。。。")
except Exception as result:
    print("未知错误 %s" % result)

4.完整的异常语法

try:
    # 提示用户输入一个整数
    num = int(input("请输入一个整数:"))
    # 使用8 除以用户输入的整数并且输出
    result = 8 / num
    print(result)
except ZeroDivisionError:
    print("请输入除0之外的数字。。。")
except Exception as result:
    print("未知错误 %s" % result)
else:
    print("try中无异常才会执行的代码")
finally:
    print("无论是否出现错误都会执行的代码")

5.异常的传递

def demo1():
    return int(input("输入整数:"))


def demo2():
    return demo1()


# 利用异常的传递性,在主程序捕获异常
try:
    print(demo2())
except Exception as result:
    print("未知错误 %s" % result)

6.抛出异常

def input_password():
    # 1 提示用户输入密码
    pwd = input("请输入密码:")
    # 2 判断密码长度 >=8,返回用户输入的密码
    if len(pwd) >= 8:
        return pwd
    # 3 如果<8 主动抛出异常
    print("主动抛出异常")

    # 1>创建异常对象
    ex = Exception("密码长度不够")
    # 2> 主动抛出异常
    raise ex


# 提示用户输入密码
try:
    print(input_password())
except Exception as result:
    print(result)

2.文件

首先创建个文件,文件名为README,内容自己随便写。

1.读取文件

# 1.打开文件 open("文件名","访问方式")
file = open("README")
# 2.读取文件的内容
text = file.read()
print(text)
print(len(text))
print("-" * 50)
# 3.关闭文件
file.close()

2.读取文件后文件指针会改变

# 1.打开文件 open("文件名","访问方式")
file = open("README")
# 2.读取文件的内容
text = file.read()
print(text)
print(len(text))
print("-" * 50)
text = file.read()
print(text)
print(len(text))
# 3.关闭文件
file.close()

3.写入文件

# 1.打开文件 open("文件名","访问方式")
file = open("README","a+")
# 2.写入文件的内容
file.write("hello")
print("-" * 50)
# 3.关闭文件
file.close()

4.分行读取文件

# 1.打开文件 open("文件名","访问方式")
file = open("README")
# 2.读取文件的内容
while True:
    text = file.readline()
    # 判断是否读取到内容
    if not text:
        break
    print(text, end="")
# 3.关闭文件
file.close()

5.复制文件

# *-* coding:utf8 *-*
# 打开
file_read = open("README")
file_write = open("README[复制]","w")
# 读写
text = file_read.read()
file_write.write(text)
# 关闭
file_read.close()
file_write.close()

6.复制大文件

# *-* coding:utf8 *-*
# 打开
file_read = open("README")
file_write = open("README[复制]","w")
# 读写
while True:
    # 读取一行内容
    text = file_read.readline()
    # 判断是否读取到内容
    if not text:
        break
    file_write.write(text)
# 关闭
file_read.close()
file_write.close()

7.python字符串

# *-* coding:utf8 *-*
# 引号前面的u解释器这是一个utf-8编码格式的字符串
hello_str = u"hello世界"
print(hello_str)
for c in hello_str:
    print(c)

8.eval计算器

# *-* coding:utf8 *-*
input_str = input("请输入算术题:")
print(eval(input_str))
#  __import__('os').system('ls')  返回整个文件列表   不用滥用eval()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值