我正在构建一个Python模块,该模块使用存储在模块目录中的资产文件(在本例中为JSON文件):
root
+--- mymodule
+------ __init__.py
+------ mymodule.py
+------ myasset.json但是,当我把这个open为
with open("myasset.json", "r") as assetfile:
....它找不到它,因为工作目录是其他目录。
我应该如何引用模块中的资产文件?
发布于 2021-11-10 14:25:43
这取决于您运行的是哪个文件。
如果您在root中运行main.py,则可以使用以下命令访问路径:
# mymodule/mymodule.py
# path of this file file
print(os.path.realpath(__file__))
print(__file__)
# path of this folder
print(os.path.dirname(os.path.realpath(__file__)))
print(pathlib.Path(__file__).parent)
# main.py folder
print(pathlib.Path().resolve())
print(os.getcwd())
# python paths list
print(sys.path)在您的案例中使用:
from pathlib import Path
with open(Path(__file__).parent.joinpath("myasset.json"), "r") as assetfile:
....https://stackoverflow.com/questions/69914567
复制相似问题