如何确定 python 脚本的位置?
python 脚本有个 __file__ 属性,能够确定脚本所在的位置。但由于运行文件夹的不同,__file__的相对路径也不同。

如何确定当前脚本的绝对路径

1
2
3
# -*- coding: utf-8 -*-
import os
print os.path.realpath(__file__)

如何确定当前脚本所在的文件夹

1
2
3
# -*- coding: utf-8 -*-
import os
print os.path.dirname(os.path.realpath(__file__))

如何确定当前脚本所在的文件夹的父文件夹

1
2
3
# -*- coding: utf-8 -*-
import os
print os.path.dirname(os.path.dirname(os.path.realpath(__file__)))

一种编程方式

在编写程序的时候,想要使用一些绝对路径相关的变量,会单独定义一个脚本如 pathinfo.py

1
2
3
4
5
6
7
8
9
10
11
12
13
import os
def src_dir():
return os.path.dirname(os.path.realpath(__file__))
def code_dir():
return os.path.dirname(src_dir())
def log_dir():
return code_dir()+'/log'
def conf_dir():
return code_dir()+'/conf'

这样,使用的时候 import pathinfo 即可