2012-07-02 61 views
3

我要访问我的Python代码在Ubuntu以下路径:如何找到更改目录名称的路径?

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

其中包含Firefox书签

的问题是,之前的“.default”的部分是每一个用户和机器不同。 有没有一种方法可以指定该目录的一般路径,并使python访问它并检索所需的文件?

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

+0

我对此表示歉意,谢谢 – Shokry

+2

没问题..我也必须学习。这个帖子的可读性越高,回答就越有可能出现,因为我已经发现了:) – Levon

回答

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'))) 

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

+0

谢谢,这解决了'〜'的问题,仍然无法访问'.default'之前的任何名字 – Shokry

+0

@ user1239277 - 使用glob的通配符解决方案是否适合您? – eumiro

+2

不妨将两者结合起来:'glob.glob(os.path.expanduser(“〜/ .mozilla/firefox/*。default/bla”))''。 –

相关问题