问题:
假如在A.py文件用open打开同目录下的文件xxx.txt,是可以直接写文件名而不用加路径就可以成功执行的,但是如果从另一个目录下的py文件import A.py,然后再调用A.py 文件下的函数使用open方法打开文件,是会报错的。FileNotFoundError: [Errno 2] No such file or directory: ‘xxx.txt’
原因:
调用目录不一致。在open之前加语句 print(“当前路径”,os.getcwd()) 查看一下当前路径就明白了。
解决办法:
使用拼接文件名,这样任何目前下调用该open方法都不会出现找不到文件的问题了。推荐的标准方法为:
import os.path
base_path = os.path.dirname(os.path.realpath(__file__)) # 获取当前路径
file_path = os.path.join(base_path, "xxx.txt")
本文探讨了在Python中跨目录调用函数时遇到的文件读取错误问题,详细解释了错误原因,并提供了一种标准解决方案,即通过拼接文件路径来确保在任何调用环境下都能正确读取文件。
1万+

被折叠的 条评论
为什么被折叠?



