Python 3.x 获得tmp folderpath的最具Python风格的方法?
我的文件夹结构如下:Python 3.x 获得tmp folderpath的最具Python风格的方法?,python-3.x,Python 3.x,我的文件夹结构如下: myproj | | +-- tmp | +-- my_proj | | | +-- config.py | | | +-- package_1 | | | | | +-- __init__.py | | | | | +-- data_maker.py
myproj
|
|
+-- tmp
|
+-- my_proj
| |
| +-- config.py
| |
| +-- package_1
| | |
| | +-- __init__.py
| | |
| | +-- data_maker.py
| |
| |
| +-- package_2
| |
| +-- __init__.py
| |
| +-- hello_world.py
|
|
|
+--README.md
|
|
+--setup.py
data\u maker.py
在运行过程中生成一组临时文件,并将这些文件存放到myproj\tmp
。引用myproj/tmp
forlderpath的最具python风格的方式是什么
我目前的解决方案是在data\u maker.py中包含以下内容:
import os
tmp_folder = os.path.join(os.path.abspath(os.path.dirname(os.path.dirname(__file__))), 'tmp')
这在python中看起来非常丑陋。我应该在config.py
中放入指定tmp文件夹的内容吗?或者可能构建一个可以获取所有目录的类?除了不需要两个dirname
s之外,它非常接近最佳状态tf=os.path.join(os.path.abspath(os.path.dirname(\uuu file\uuu)),“tmp”)
会更简洁一些。@gilesc,根据data\u maker.py
的位置,它需要三次dirname
调用。啊,是的。您可以使用myproj.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
替换(如果您稍后移动data\u maker.py
),这也可以保护您免受影响。我通常通过首先获得我的项目根来处理这类事情。