python自动化笔记:os模块和异常处理

目录

一、os模块

os模块----》对文件目录进行操作 -----》实现对文件目录操作与管理

1.1、常用方法

方法 描述
os.getcwd ( ) 获取当前.py文件所在的项目路径
os.path.dirname (path) 返回文件上一级路径
os.path.join(path1,path2) 连接两个部分的路径,组成一个完整的路径
os.path.abspath(path) 获取绝对路径
os.path.split(path1) 路径拆分,拆成目录+文件

1.2、其他方法(了解即可)

方法 描述
os.chdir() 切换工作路径
os.mkdir() 在某个目录下创建一个新目录
os.rmdir() 删除一个目录
os.listdir() 获取当前路径下的目录列表,返回列表格式数据
os.path.isdir() 判断当前文件是否是目录,返回布尔值
os.path.isfile() 判断当前文件是否是文件,返回布尔值

二、异常处理 try except

可以使用try except语句来捕获所有异常

2.1、语法格式1:

bash 复制代码
 try:
  执行代码
 except:
  发生异常执行的代码
 else:
  没有异常执行的代码

代码示例:

python 复制代码
try:
    username = input("请输入账号:")
    passwd = input("请输入密码:")
    if username=="admin"and passwd=="123456":
        print("登陆成功")
    else:
        print("登录失败") # 以上代码只用于模拟场景,不要也行
    money = int(input("请输入取款金额"))
except:
    print("出现异常了")
else:
    print("请执行下一步")

场景:

1、出现异常,执行except中的代码:如输入取款金额时,输入汉字

控制台输出:

2、没有异常,执行else中的代码:如输入取款金额时,输入10

控制台输出:

2.2、语法格式2:指定异常类别,捕获异常

bash 复制代码
try:   
 file1=open('2.txt')
 s=file1.readline()
  i=int(s)
except  ValueError as err2:
print('ValueError:{0}'.format(err2))
except OSError as err:    
print('OSError:'.format(err))
except:    
print('unexcept error', sys.exc_info())

代码示例:

python 复制代码
try:
    uername = input("请你输入你的账号")
    passwd = input("请你输入你的密码")
    if uername == "admin"and passwd == "123456":
        print("登录成功")
    else:
        print("登录失败")
    money = int(input("请输入取款金额"))

except Exception as error:
    print("类型。。。。", str(error))
else:
    print("无异常继续执行取款的下一步操作......")

出现异常,执行except中的代码:如输入取款金额时,输入字母

2.3、语法格式3:try-finally 语句无论是否发生异常都将执行最后的代码。

bash 复制代码
 try:
  执行代码
 except:
  发生异常执行的代码
 else:
  没有异常执行的代码
 finally:
  不管有没有异常都会执行的代码

代码示例:

python 复制代码
try:
    username = input("请输入账号:")
    passwd = input("请输入密码:")
    if username=="admin"and passwd=="123456":
        print("登陆成功")
    else:
        print("登录失败")
    money = int(input("请输入取款金额"))
except:
    print("出现异常了")
else:
    print("请执行下一步")    
finally:
    print("请收好您的卡片")

场景:

1、出现异常,执行except中的代码:如输入取款金额时,输入汉字

控制台输出:

2、没有异常,执行else中的代码:如输入取款金额时,输入10

控制台输出:

2.4、主动抛出异常raise

代码示例:

python 复制代码
try:
    username = input("请输入账号:")
    passwd = input("请输入密码:")
    if username=="admin"and passwd=="123456":
        print("登陆成功")
    else:
        print("登录失败")
    money = int(input("请输入取款金额"))
except:
    print("出现异常了")
    # 主动抛出异常,让python接收到
    raise
else:
    print("请执行下一步")

控制台输出:

相关推荐
小江的记录本6 小时前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
北京耐用通信6 小时前
自动化工程师必修课:耐达讯自动化Modbus TCP转PROFIBUS协议转换的核心逻辑与应用
人工智能·物联网·网络协议·自动化·信息与通信
无忧智库6 小时前
某AI漫剧超级工厂AI绘画与分镜自动化生成流水线详细设计方案(WORD)
人工智能·ai作画·自动化
APIshop7 小时前
Python 获取 1688 商品采集 API 接口 | 工厂货源自动化对接商品信息 | 无需选品
运维·python·自动化
deepin_sir7 小时前
10 - 函数
开发语言·python
charlee448 小时前
《GIS基础原理与技术实践》配套案例(Python版)
python·conda·numpy·gis·环境配置
枫叶林FYL8 小时前
项目十:事件溯源仓储管理系统(WMS)仿真实现
开发语言·python
小新同学^O^8 小时前
简单学习 --> 模型参数
学习·llm·大模型参数
cdbqss18 小时前
VB2026 菜单生成基类 BqGetMenuStrip
数据库·经验分享·学习·oracle·vb
weixin_548444268 小时前
爆红处理APK 自动化编译流水线 v2026(英文名:APK AutoPipeline)
运维·自动化