python在编程中关于因为文件路径找不到文件的坑。
如图所示的文件路径。其中,miniappRecommend导入了url_config文件。而在url_config中,又使用了accessToken.text文件。
在url_config中使用如下语句调用了accessToken.text文件。
with open("accessToken.text", "r") as f:
单独运行url_config的时候正常。但运行miniappRecommend的时候就会提示找不到文件。原因是,在python运行后,使用的文件目录是当前运行文件的目录(使用os.getcwd()可以看到,此时的路径是/testcase/)
为了解决这个问题,应该在url_config中修改文件路径为当前文件的绝对路径。
使用os.path.realpath(__file__)
可以返回当前的文件路径。/Users/soso/Documents/test-api/api-test/comConfig/url_config.py 但这样仍不是想要的路径/Users/soso/Documents/test-api/api-test/comConfig/accessToken.text
。此时可以使用os.path.split(os.path.realpath(__file__))[0]
,使文件父路径和文件名进行分离,并取文件父路径再进行拼接。
(’/Users/soso/Documents/test-api/api-test/comConfig’, ‘url_config.py’)
最终方法:
path = os.path.split(os.path.realpath(__file__))[0]
with open(path+"/accessToken.text", "r") as f: