用一个python文件去调用另一个python文件,关于相对路径的处理?

比如用a.py调用执行b.py,但是a.py和b.py路径环境不一样,而b.py中有使用相对路径读取文件,这时会报错,怎么在a.py中进行配置,使其调用b.py时路径和其相同,能否做到?

比如目录结构是这样:

clipboard.png
a.py文件内容是:

def read_file():
    with open('./for_read.txt', 'r') as fp:
        fp.read()

    return

read_file()

b.py文件内容是:

import os

os.system('python ./inner/a.py')

此时执行b文件会报错:

FileNotFoundError: [Errno 2] No such file or directory: './for_read.txt'
相对路径是按照你执行程序的位置来定义的,不是该文件的路径位置相对。比如你在a文件夹下执行b文件的程序,此时相对路径的起点是a文件夹不是b!!
原文地址:https://www.cnblogs.com/wangxiaoqun/p/12327264.html