欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

No such file or directory

程序员文章站 2022-03-08 19:28:45
...

场景

使用pytest 执行脚本时抛错,No such file or directory …

问题

FileNotFoundError: [Errno 2] No such file or directory: ‘…/testing/datas/pingketuan.yaml’

原因

代码中的’…/testing/datas/pingketuan.yaml’ 为当前运行脚本的相对路径

解决方法

使用 os.path.dirname(file) 将相对路径修改为绝对路径。
由于该测试脚本所在的位置为:
C:\Users\user\PycharmProjects\pythonProject\testing/datas/pingketuan.yaml

故修改为:
os.path.dirname(os.path.dirname(file))/testing/datas/pingketuan.yaml

扩展:

import os  

#获取当前运行脚本的绝对路径
path1 = os.path.dirname(__file__)  
print(path1)  

#获取当前运行脚本的绝对路径(去掉最后一个路径) 
path2 = os.path.dirname(os.path.dirname(__file__)) #  
print(path2) 

#获取os所在的目录  
path3 = os.__file__                  
print(path3)  

结果:

C:\Users\user\PycharmProjects\pythonProject\api
C:\Users\user\PycharmProjects\pythonProject

C:\Users\user\AppData\Local\Programs\Python\Python39\lib\os.py

参考链接

相关标签: python python