python pathlib 路径处理

pathlib 路径处理

只写文件名字: 默认只会从当前的目录【当前py文件】里找,找不到报错。如果不在同一个目录,解决方案:
1、绝对路径: 默认在路径前面加r 转义。

  • 但是不推荐使用: 绝对路径有绝对缺陷: 自动化框架肯定不会用绝对路径
  • 1)换了电脑,路径不会完全一样 就会导致文件找不到;
  • 2)跨平台兼容性很差: mac Linux – /., windows:
    2、相对路径处理: 不管祖先是谁,相对于我【当前文件】你在哪个位置。 ==linux
  • 先获取我py文件的路径
  • 找一下你跟我的位置关系 - -同级 上级 下级。。
  • 通过关系确认我们的路径关联情况

借助一个工具 : 功能库 pathlib 处理路径 【参考 内置函数】

  • 需要导入 :import pathlib
  • Python的自带的一个库,所以直接导入只用 ,如果不是自带的库,第三库【excel requests selenium等】,需要安装。
  • os : 老旧的技术,现在新版本官方推荐使用pathlib。

自动化框架-- 代码分层:

  • 代码框架相对路径不会变,跟我的绝对路径没有关系。
  • 测试用例层 : 用例里读取数据,读取配置文件
  • 测试数据: 用例 文本
  • 配置文件: 项目地址 数据库连接数据
  • 测试报告和日志层
  • 入口文件: run.py
# 绝对路径
# with open(r"D:\Pycharm_Project\python65_auto\day06_函数和文件处理\demo1",encoding="UTF8",mode="r") as f:
#     data = f.read()
#     print(data)

# 相对路径
import pathlib  # 导入Python自带的功能库
#先获取我py文件的路径 -- 当前绝对路径
current_path = pathlib.Path(__file__).absolute()
print(current_path)
# 获取demo1- d3--day07--python65--day06--demo1
# 获取我的父级路径- 父级
print(current_path.parent)  # day07目录
print(current_path.parent.parent)  # python65目录
day06_path = current_path.parent.parent / "day06_函数和文件处理"
print(day06_path)
demo1_path = current_path.parent.parent / "day06_函数和文件处理" / "demo1"
print(demo1_path)

# 做文件读取 --路径处理之后读取文件内容
with open(demo1_path,encoding="UTF8",mode="r") as f:
    data = f.read()
    print(data)


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值