python中os.path.dirname(__file__)的使用
(1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如:
python c:/python27/test/test.py
那么将输出 c:/python27/test/
(2).当"print os.path.dirname(__file__)"所在脚本是以相对路径被运行的, 那么将输出空目录,比如:
python test.py
那么将输出空字符串
以下代码可以保证在任何时候都切换到当前执行脚本所在目录中,该当当做公式熟记在心。
abspath = os.path.dirname(__file__)
sys.path.append(abspath)
print abspath
if abspath=='':
os.chdir(sys.path[0])
else:
os.chdir(abspath)