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

控制台输出:

相关推荐
武子康5 分钟前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
deephub6 分钟前
Tokenformer:基于参数标记化的高效可扩展Transformer架构
人工智能·python·深度学习·架构·transformer
使者大牙14 分钟前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型
Open-AI23 分钟前
Python如何判断一个数是几位数
python
极客代码26 分钟前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
义小深28 分钟前
TensorFlow|咖啡豆识别
人工智能·python·tensorflow
疯一样的码农32 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
As977_36 分钟前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
ajsbxi39 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
Rattenking40 分钟前
React 源码学习01 ---- React.Children.map 的实现与应用
javascript·学习·react.js