我想在我的脚本中定义一个常量,就像我的Dropbox文件夹的路径一样。我的大多数脚本都会尝试加载Dropbox的一些数据,这些数据在我的PC之间共享,但我发现Mac和Ubuntu之间的前缀不同(/Users/<user>/Dropbox
与/home/<user>/Dropbox
)。
有没有办法将这种信息保存在一个将在每个会话中加载的变量中,这样我就可以像DROPBOX这样的全局变量(什么是一个好的约定,__DROPBOX__?)作为文件的路径前缀名字,例如fname = DROPBOX + "myfile.txt"
。
有点让我想起在.Rprofile
R
中保存设置的{{1}}。
或者有更好的方法来解决这个问题吗?
答案 0 :(得分:2)
您可以使用内置环境变量来获取用户主目录的路径:
import os
print os.environ['HOME']
如果在新机器上运行,哪种方法可以解决您的问题。
答案 1 :(得分:0)
这个怎么样:
os.path.expanduser('~/Dropbox')
或者您可以尝试不同的替代方案:
dirs_to_try = ('/Users/Guido/Dropbox', '/home/Guido/Dropbox')
for path in dirs_to_try:
if os.path.isdir(path):
break
finally:
print 'cannot find Dropbox directory'
path = None