![](/img/trans.png)
[英]How to access text file in project root from python package under `src/` directory
[英]Python access to project root directory
我的应用程序的文件夹结构:
rootfolder
/subfolder1/
/subfolder2
/subfolder3/test.py
我的代码在子文件夹3中。 但我想将代码的输出写入subfolder1
。
script_dir = os.path.dirname(__file__)
full_path = os.path.join(script_dir,'/subfolder1/')
我想知道如何在不导入目录的完整路径的情况下执行此操作。
这听起来像是你想要的东西
project_root = os.path.dirname(os.path.dirname(__file__))
output_path = os.path.join(project_root, 'subfolder1')
project_root
设置为脚本父文件夹上方的文件夹,该文件夹与您的描述相匹配。 然后输出文件夹转到subfolder1
下。
我也会把我的导入改为
from os.path import dirname, join
这会缩短您的代码
project_root = dirname(dirname(__file__))
output_path = join(project_root, 'subfolder1')
我发现这个版本更容易阅读。
完成此任务的最佳方法是将项目转换为模块。 Python使用__init__.py
文件来识别此设置。 所以我们可以简单地在根目录下创建一个空的__init__.py
文件。 结构看起来像:
rootfolder
/subfolder1/
/subfolder2
/subfolder3/test.py
__init__.py
完成后,您可以引用任何子文件夹,如下所示:
subfolder1/output.txt
因此,您的脚本看起来像这样:
f = open("subfolder1/output.txt", "w+")
f.write("works!")
f.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.