python之os模块和异常捕获语法格式

一,简单介绍下os模块常用得操作(自动化测试中)

其实在自动化中,应用到os模块的地方不多,而且常用的就几个。

 __file__ ,在os模块中应用时表示为当前的文件名

1--  获取当前文件的绝对路径:

os.path.abspath(__file__)

2--  获取当前文件(文件夹)所在的目录

os.path.dirname() -- 括号里面的参数必须是一个绝对路径

3-- 路径拼接:

os.path.join()-- 通过上面两个方法可以获取得到项目目录后,与另一个文件进行拼接,得到该文件的绝对路径

 

还想学习更多关于os模块的应用,可以再次扩展

下面为,在接口自动化测试框架中对路径的处理:

import os

base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 得到当前文件下得项目路径,方便后续与各种文件的路径拼接

# 测试用例路径
cases_dir = os.path.join(base_dir, "TestCases")
# 测试数据大的路径
datas_dir = os.path.join(base_dir, "TestDatas")

# 测试报告路径
reports_dir = os.path.join(base_dir, r"Outputs\reports")  # r表示转义字符

# 日志的路径
logs_dir = os.path.join(base_dir, r"Outputs\logs")

# 配置文件的路径
conf_dir = os.path.join(base_dir, "Conf")

二,异常捕获的常用语法

在工作中调试代码出现报错,首先先自己去尝试理解报错内容,如果英文不懂,则翻译

找到自己写的代码中的第几行出错了,再去尝试修复报错

 

一、常见代码异常

1、变量没定义:NameError

2、语法错误:SyntaxError

3、键不存在:KeyError

4、没找到模块:ModuleNotFoundError

5、类型错误:TypeError

下面来介绍异常捕获。

什么时候需要捕获异常呢?

其实有几个比较标准的运用场景,

二,与第三方资源交互的时候,一定要处理异常

资源的释放问题,例如,http连接,数据库的连接,excel操作

异常捕获的常用语法:

try:
    可能会出错的代码
except: (如果出错,进入except)
    捕获异常
    代码报错后执行的代码
    raise(抛出异常)
else:
    try里面的代码没报错时,执行大的代码
finally:
    无论是否出现异常,一定会执行的代码

 

eg:

# 如果文件打开成功,则接着写入数据。
try:
    fs = open(r"D:\Pychram-Workspace\py30\python练习.txt","r",encoding="utf-8")
    # fs.write("成功写入")
except:  # 捕获异常
    print("代码出错了!!")  # 我做了我自己的事情。输出了一些内容。
    raise  # 会把异常信息抛出。让python接收到
else:
    fs.write("成功写入")
finally:
    print("一定会执行的代码!!")
    try:
        fs.close()  # 清理收尾工作。无论成功还是失败都会执行的代码。
    except:
        pass  # 如果fs.close()失败了,不用处理。直接忽略异常。

还有另一种写法:

try:
    代码
except 异常名字:
    处理代码
except 异常名字:
    处理代码
except 异常名字:
    处理代码
except Exception as e:  # 其中Exception为所有异常的基类,当你不知道为啥类型错误时,写这个就ok

   print(e)  

   pass 
其中raise和print(Exception)的区别就是raise打印出来的报错信息更加详细

简单的练习题:

def get_money():
    try:
        price = float(input("请输入橘子的价格: "))
        weight = float(input("请输入橘子的重量:"))
    except:
        print("请输入正确的数据类型")
        raise
    else:
        money = price * weight
        print("您购买的橘子的金额为:{}".format(money))
    finally:
        print("欢迎下次光临")


get_money()

后续在ui自动化中会比较经常用到,后续踩坑补充,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当您在Python中编写脚本时,您可能需要与操作系统进行交互,例如读取文件、创建目录、获取系统环境变量等。为了完成这些任务,Python提供了两个非常有用的模块os和sys。 os模块提供了许多与操作系统交互的函数,它允许您执行以下任务: - 访问文件系统中的文件和目录。 - 与进程和进程组进行交互。 - 获取和设置环境变量。 - 执行命令和程序。 - 管理文件和目录权限。 - 等等。 下面是os模块中一些常用的函数: - os.getcwd():获取当前工作目录。 - os.listdir(path):返回指定目录下的所有文件和目录名。 - os.mkdir(path):创建新目录。 - os.path.exists(path):检查指定的路径是否存在。 - os.rename(src, dst):将文件或目录从src重命名为dst。 - os.remove(path):删除指定的文件。 - os.path.join(path, *paths):连接两个或更多的路径名组件。 sys模块提供了与Python解释器和它的环境进行交互的函数。它允许您执行以下任务: - 获取命令行参数。 - 获取Python解释器的版本和路径。 - 退出程序并返回状态码。 - 处理标准输入和输出。 - 设置和获取Python解释器的参数等。 下面是sys模块中一些常用的函数: - sys.argv:获取命令行参数。 - sys.exit([arg]):退出程序并返回状态码。 - sys.platform:返回当前操作系统平台名称。 - sys.version:返回Python解释器的版本号。 - sys.path:返回Python模块搜索路径。 总之,os和sys模块提供了Python与操作系统和解释器进行交互的强大功能,使得Python可以轻松地处理文件系统、环境变量、进程等各种任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值