假设我的Python3
项目结构是:
Project
| App.py
| AFolder
| | tool.py
| | token.json
在tool.py
中,我使用os.path.exists('token.json')
来检查Json文件是否退出。正如所料,它返回 true 。
def check():
return os.path.exists('token.json')
但是,当我在App.py
中调用此内容时,会返回 false 。
在模块之间调用函数时,文件路径似乎不同。怎么解决?
答案 0 :(得分:2)
您撰写os.path.exists( . . .
的文件所在的位置并不重要。重要的是导入和调用函数时的位置。
因此,在检查文件是否存在时使用完整路径。
def check():
directory_to_file = '/home/place/where/i/store/files/'
return os.path.exists(os.path.join(directory_to_file, 'token.json'))
# Making the check relative to current path will be more portable:
# return os.path.exists(os.path.join(os.path.dirname(__file__)),'token.json')
这将允许check
功能在任何地方工作!