【发布时间】:2012-10-21 04:08:25
【问题描述】:
我正在创建一个将 blob 文件存储到硬盘驱动器中的应用程序,但是这个脚本必须在 linux 和 windows 中运行,问题是我想给它一个从文件系统根目录开始的绝对路径,而不是相对于项目文件,这是因为我使用 git 并且不想处理从同步中排除所有这些文件。
所以我想要这样的东西:
path = '/var/lib/blob_files/'
file = open(path+'myfile.blob', 'w')
并在 unix 中获取文件:
/var/lib/blob_files/myfile.blob
在窗口中:
C:\var\lib\blob_files\myfile.blob
它也可能与用户主文件夹(unix 中的 /home/user 和 windows 中的 C:/Users/User)有关,但我想问题非常相似。
我怎样才能做到这一点?是否有任何库或函数可以帮助我透明地转换此路径,而无需询问脚本一直在哪个平台上运行?
在我的两个选项中,从根目录绝对或从主文件夹相对,你推荐使用哪一个?
提前感谢您对此的任何建议
【问题讨论】:
-
不是重复的。来吧伙计们,让新朋友休息一下。
-
我不确定你为什么认为你需要一个绝对路径“因为我使用 git 并且不想处理排除所有这些文件”。那是怎么回事?无论如何,家庭相关似乎在这里更有意义,因为 Windows 用户不会有一个名为
C:\var\lib`, so creatingC:\var\lib\blob_files 的目录会很奇怪,但创建 Windows 等效于~/.blob_files完全合理。
标签: python windows unix path cross-platform