有一个文件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
中的代码谢谢
答案 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
的文档。