获取特定文件的父目录

时间:2012-10-15 11:36:49

标签: python

有一个文件a.py

位置为/home/user/projects/project1/xxx/a.py

如果我致电os.getcwd(),它会给我/home/user/projects/project1/xxx/。但我希望达到/home/user/projects/project1。我怎么能用Python做到这一点?

编辑:我想我必须更清楚。我希望这能用于我的Django项目。

我在settings.py中使用这些代码:

PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))

然后我使用fallowing代码来指定我的静态文件夹的位置。 :

os.path.join(PROJECT_PATH,'statics'),

我的settings.py文件位于:/home/user/projects/project1/xxx/settings.py

我的静态文件夹与settings.py位于同一目录下。

现在我想将此文件夹移至/home/user/projects/project1

我应该怎么处理settings.py

中的代码

谢谢

2 个答案:

答案 0 :(得分:13)

from os.path import dirname

print(dirname(dirname(__file__)))

每次拨打dirname时,它都会为您提供父目录。根据需要多次打电话。

或者您可以执行以下操作:

normpath(join(path1, '..', '..'))

答案 1 :(得分:9)

>>> import os
>>> os.getcwd()
'/tmp/test'
>>> os.chdir('..')
>>> os.getcwd()
'/tmp'
>>> 

点点(..)表示父目录。因为相对路径名指定了从当前目录开始的路径。

请参阅os.chdir的文档。