如何查找更改目录名称的路径?

时间:2012-07-02 13:01:03

标签: python regex firefox ubuntu

我想在我的python代码中访问Ubuntu上的以下路径:

~/.mozilla/firefox/dh4ytbdj.default/bookmarkbackups 

包含Firefox书签

问题是“.default”之前的部分对于每个用户和机器都是不同的。 有没有办法可以为这个目录指定一般路径并让python访问它并检索所需的文件?

是否有可能在python代码中实现'~'来访问当前用户的家?

1 个答案:

答案 0 :(得分:3)

>>> import os
>>> os.path.expanduser('~/.mozilla/firefox/dh4ytbdj.default/bookmarkbackups')
'/home/username/.mozilla/firefox/dh4ytbdj.default/bookmarkbackups'

对于个人firefox目录的系统范围访问(具有足够的权限),您可以尝试:

>>> import glob
>>> glob.glob('/home/*/.mozilla/firefox/*.default/bookmarkbackups')

正如@NedBatchelder所指出的,这可以合并为一个命令:

import os, glob
next(glob.iglob(os.path.expanduser('~/.mozilla/firefox/*.default/bookmarkbackups')))

返回一个(如果存在的话)路径。