在做一个自动化办公应用的时候,发现一个诡异的问题:两个文件都在同一目录层级里面,在使用main.py文件引用自己写的DetectionAbnormal.py里的pyscreeze.screenshot('../res/my_screenshot.png')读取图片时,提示FileNotFoundError: [Errno 2] No such file or directory:'../res/my_screenshot.png'。
但是直接运行DetectionAbnormal.py,却能运行成功。
初步分析是相对路径的原因,可是从编译软件看,main文件与DetectionAbnormal文件确实是已经在一个层级了V:codepythonpythonAutoOfficesrc,按理说从main文件引用DetectionAbnormal应该能访问到res文件夹里的资源才对。
查了一下资料,用
path1 = os.path.abspath('')
print(path1)
查看了一下两个文件运行的路径,发现问题所在:
DetectionAbnormal文件在V:codepythonpythonAutoOfficesrc
main文件在V:codepythonpythonAutoOffice
【两个文件虽然在编译软件里显示在同一层级,但实际运行的层级不一样,所以使用相对路径时,会出问题。】【不知什么原因导致的,有大神解答一下么?】
解决办法:改个main文件能访问的相对路径后,就可以成功找到目标按钮的坐标点


![pyscreeze读取图片相对路径报错FileNotFoundError: [Errno 2] No such file or directory pyscreeze读取图片相对路径报错FileNotFoundError: [Errno 2] No such file or directory](http://www.mshxw.com/aiimages/31/1022694.png)
