目录
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()