Python-异常处理+文件

2023-05-16

目录

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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-异常处理+文件 的相关文章

随机推荐

  • Android基于JNA集成调用第三方C/C++的so库

    Android基于JNA集成调用第三方C C 43 43 的so库 xff08 1 xff09 引入JNA 基于JNA开源项目 xff0c JNA对Android NDK的封装 xff0c 简化Android层JNI集成调用C C 43 4
  • Android JNI配置CMakeLists.txt修改.cpp在logcat打印日志

    Android JNI配置CMakeLists txt修改 cpp在logcat打印日志 C C 43 43 代码里面常用的printf没法在Android 的logcat输出显示 需要特别配置C 43 43 才能显示在logcat里面 x
  • Android JNI/NDK C++代码读写手机上存放的文件

    Android JNI NDK C 43 43 代码读写手机上存放的文件 xff08 1 xff09 首先确保当前app已经获得读文件系统的权限 xff1a lt uses permission android name 61 34 and
  • kotlin,null let expression

    kotlin null let expression class Num var data Int 61 1 fun main args Array lt String gt val n 61 Num n data 61 null var
  • Unable to make field private final java.lang.String java.io.File.path accessible: module java.base d

    Android Studio编译报错 xff1a Unable to make field private final java lang String java io File path accessible module java ba
  • Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)

    Android 引入hunter debug监测代码运行时函数耗时和参数及返回值 xff0c Java xff08 1 xff09 xff08 1 xff09 在工程的根build gradle文件里面添加cn quinnchen hunt
  • 阅读笔记-软件工程的大泥球

    软件工程的大泥球 xff08 原文地址 xff1a http www laputan org mud xff09 大泥球的定义 xff1a A BIG BALL OF MUD is a casually even haphazardly s
  • Android 引入hunter-timing监测UI主线程函数运行时耗时,Java(2)

    Android 引入hunter timing监测UI主线程函数运行时耗时 xff0c Java xff08 2 xff09 xff08 1 xff09 在工程的根build gradle文件配置 xff1a buildscript rep
  • 无人驾驶项目——交通标志识别

    在无人驾驶项目中 xff0c 实现交通标志识别是一项重要工作 本文以德国交通标志数据集为训练对象 xff0c 采用深度神经网络LeNet架构处理图像 xff0c 实现交通标志识别 具体处理过程包括包括 xff1a 数据导入 探索和可视化数据
  • SO_RCVBUFFORCE

    mytcp sockets allocated是到目前为止 xff0c 整个tcp协议中创建的socket的个数 xff0c 由mytcp prot的成员 sockets allocated指向 可以在 proc net sockstat文
  • n个球放k个盒子问题归纳

    问题描述 xff1a 有n个球 xff0c 放进k个盒子 xff0c 有多少种不同的放法 xff1f xff08 球必须全部放在盒子中 xff0c 不能丢弃 xff09 球可能相同 xff0c 也可能不同 xff0c 盒子亦然 另外 xff
  • Python模拟登录CSDN

    关于CSDN的模拟登录 xff0c 网上已经有相当一部分博主发过类似的文章 xff0c 我这里不过稍稍模仿下 xff0c 使用前辈们的经验时 xff0c 还是非常感激的 具体过程如下 xff1a xff08 1 xff09 确定登录页面的表
  • 【UNIX环境高级编程】UNIX基础知识

    UNIX环境高级编程 UNIX基础知识 1 UNIX体系结构 从严格意义上 xff0c 可将操作系统定义为一种软件 xff0c 它控制计算机硬件资源 xff0c 提供程序运行环境 xff0c 我们称这种软件为内核 内核的接口称为系统调用 公
  • postman能正常打开但不显示窗口

    1 最近使用postman偶尔出现以下问题 postman在任务栏能正常打开 xff0c 如下图 xff0c 使用Alt 43 Tab也能看到 xff0c 但是窗口就是显示不了 2 解决方案 将鼠标放在任务栏上 xff0c 使用快捷键Alt
  • Linux文件相关常用命令(超全超详细)

    目录 command终端命令格式 xff1a command options parameter 1 ls命令 2 cd命令 3 touch 命令 4 mkdir命令 5 pwd命令 6 clear 命令 7 rm命令 8 cp命令 9 m
  • Linux远程管理常用命令(超全超详细)【持续更新】

    目录 1 shutdown命令 2 ifconfig命令 3 uname命令 4 uptime命令 5 free命令 6 who命令 7 last命令 8 history命令 9 ping命令 10 chmod 命令 11 chown 命令
  • 基于springcloud 的Eureka的服务注册与发现

    1 注册中心用来管理每个服务与服务之间的依赖关系 xff08 服务治理 xff09 xff0c 存放服务地址相关信息 xff08 接口地址 xff09 2 服务提供者 xff1a 提供服务接口 3 服务消费者 xff1a 调用服务接口 4
  • 计算机系统层次存储结构

    问 xff1a 当前计算机系统一般会采用层次结构存储数据 xff0c 请介绍下典型计算机存储系统一般分为哪几个层次 xff0c 为什么采用分层存储数据能有效提高程序的执行效率 xff1f 所谓存储系统的层次结构 xff0c 就是把各种不同存
  • Springboot的cache缓存机制

    我们知道一个程序的瓶颈在于数据库 xff0c 我们也知道内存的速度是大大快于硬盘的速度的 当我们需要重复地获取相同的数据的时候 xff0c 我们一次又一次的请求数据库或者远程服务 xff0c 导致大量的时间耗费在数据库查询或者远程方法调用上
  • Python-异常处理+文件

    目录 1 异常处理 1 简单的异常捕获 2 捕获错误类型 3 捕获未知错误 4 完整的异常语法 5 异常的传递 6 抛出异常 2 文件 1 读取文件 2 读取文件后文件指针会改变 3 写入文件 4 分行读取文件 5 复制文件 6 复制大文件