【发布时间】:2015-11-11 14:00:32
【问题描述】:
我有一个工作模块,我正在尝试将一个统一的 yaml 文件放在 ROOT 目录中,以供所有子模块使用。
我有一个 3 层深的子模块,configs.yaml 位于根目录。
现在我正在通过硬编码os.path.split() 行来访问根目录以获得尽可能多的级别,我想知道是否有更pythonic 或更强大的指向目录顶部的方法。
我在窗户上。 Python 3.4,使用 py2exe 构建。
文件夹结构如下。
-
dps_tools
-
nydps
- 编辑
- 分贝
- session.py
- 分贝
- 编辑
-
winsrv64
- editservice.py
-
还有更多
session.py 段
if hasattr(sys, 'frozen'):
current_directory = os.path.split(sys.executable)[0]
else:
current_directory = os.path.split(os.path.split(os.path.split(os.path.dirname(
os.path.abspath("__file__")))[0])[0])[0]
editservice.py
>if hasattr(sys, 'frozen'):
basis = sys.executable
else:
basis = os.path.dirname(os.path.abspath("__file__"))
current_directory = os.path.split(basis)[0]
有没有更一致的方法?或者也许是访问目录顶部的单线pythonic方式? (即使我在 windows 上并且目录顶部不是 c :)
【问题讨论】:
-
为什么不把目录作为参数,然后从适当的地方传入呢?
-
我可以在构建期间向 py2exe 提供参数吗?我没试过
-
我最终也会构建这个 as msi,我最初将它作为一个程序化决策来处理,让我看看我是否可以传递参数
标签: python path operating-system py2exe ntfs