经常用python来写日志,有时候一忽略,获取文件的路径是工作路径,并非绝对路径,导致各种错误,这里记录一下,方便以后查阅。
1、获取工作路径
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
print os.getcwd()
若在当前目录下执行该脚本,如ide里直接执行,会输出 C:\py\01.py
若在其它环境下执行,如python \py\01.py,其输出不是C:\py\01.py,而是”当前工作目录\01.py“
所以记录日志等,不能采用os.getcwd()
2、获取脚本绝对路径
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
filename = os.path.realpath(__file__)#C:\py\01.py
print os.path.dirname(filename)#C:\py\
这时候,无论是当前目录还是其它目录执行该脚本,均可获取其正确的绝对路径。
常用拼接路径,可以这样写
os.path.join(os.path.dirname(os.path.realpath(__file__)), 'log')