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("请执行下一步")

控制台输出:

相关推荐
MessiGo12 分钟前
Python 爬虫 (1)基础 | 基础操作
开发语言·python
Mephisto.java21 分钟前
【大数据学习 | Spark-Core】Spark提交及运行流程
大数据·学习·spark
肥猪猪爸36 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
PandaCave1 小时前
vue工程运行、构建、引用环境参数学习记录
javascript·vue.js·学习
yuwinter1 小时前
鸿蒙HarmonyOS学习笔记(2)
笔记·学习·harmonyos
LZXCyrus1 小时前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
Enougme1 小时前
Appium常用的使用方法(一)
python·appium
red_redemption1 小时前
自由学习记录(23)
学习·unity·lua·ab包
懷淰メ1 小时前
PyQt飞机大战游戏(附下载地址)
开发语言·python·qt·游戏·pyqt·游戏开发·pyqt5
努力的悟空1 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化