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
),这也可以保护您免受影响。我通常通过首先获得我的项目根来处理这类事情。