--------------------------------------------------------------------------
转自:http://www.th7.cn/Program/Python/201303/130549.shtml
一、认识下os.path.dirname(__file__)
获取路径名:os.path.dirname()
获取文件所在目录的完整路径:os.path.dirname(__file__)
在django项目中的settings.py中还可以进行如下的配置:
如配置数据库:
1 import os2 DATABASE_ENGINE='sqlite3'3 DATABASE_NAME=os.path.join(os.path.dirname(__file__),'myAPP/mydata.db')
其中 os.path.dirname(__file__)函数用于取出settings.py所在文件夹的位置,在用os.path.join()函数将该位置和后面指定的'myAPP/mydata.db' 字符串连接一起,实现sqlite3数据库文件mydata.db具体存放的位置。
如果我们在eclipse中编辑如下代码,则输入该文件所在的完整路径:
但是如果我们在python自带的IDLE或Pythoncommand line中编辑,则会出现如下错误:
我感觉很诧异,原本以为是自己写错了,但是反复写了几遍都出错,最好google了一下,找到如下答案:
上面说的清清楚楚。这里不再累述。
推荐阅读:关于python文件操作:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html
------------------------------------------------------------
import os
path = os.path.dirname(__file__)
print path
保存在文件/home/admin/djangoproject/mytest/test.txt中
当test.txt脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,当脚本是以相对路径被运行的,那么将输出空目录,如下:
[admin@localhost mytest]$ python/home/admin/djangoproject/mytest/test.txt
/home/admin/djangoproject/mytest
[admin@localhost mytest]$ python test.txt
输出空目录
-------------------------------------------------------------
其他参考文献:
http://www.jb51.net/article/60735.htm
http://blog.csdn.net/harbinzju/article/details/7856062
http://www.cnblogs.com/pchgo/archive/2011/09/19/2181248.html