eg1:
[root@kooxoo20-180 sersync]# cat test.py
#!/usr/bin/env python
print __file__
[root@kooxoo20-180 sersync]# python test.py
test.py ##me相对路径得到的是相对路径
[root@kooxoo20-180 sersync]# python /home/wuxy/sersync/test.py
/home/wuxy/sersync/test.py ##绝对路径得到的是绝对路径
eg2:
[root@kooxoo20-180 sersync]# cat test.py
#!/usr/bin/env python
import os
a=os.path.realpath(__file__)
print a
[root@kooxoo20-180 sersync]# python test.py
/home/wuxy/sersync/test.py
[root@kooxoo20-180 sersync]# python /home/wuxy/sersync/test.py
/home/wuxy/sersync/test.py ##不管怎么执行,得到的都是绝对路径
eg3:
[root@kooxoo20-180 sersync]# cat test.py
#!/usr/bin/env python
import os
a=os.path.realpath(__file__)
print a
FILE_PATH=os.path.dirname(a)
print FILE_PATH
FILE_PATH=os.path.dirname(os.path.realpath(__file__)) ##建议使用这种方式
print FILE_PATH
[root@kooxoo20-180 sersync]# python test.py
/home/wuxy/sersync/test.py
/home/wuxy/sersync
/home/wuxy/sersync ##调用变量和不使用变量的print值都是一样的
eg4:
[root@kooxoo20-180 sersync]# cat test.py
#!/usr/bin/env python
import os
FILE_PATH=os.path.dirname(os.path.realpath(__file__))
PYCORE_PATH = os.path.realpath(os.path.join(FILE_PATH, '..', 'pycore'))
print PYCORE_PATH
[root@kooxoo20-180 sersync]# pwd
/home/wuxy/sersync
[root@kooxoo20-180 sersync]# python test.py
/home/wuxy/pycore
##me:os.path.join 用 '/' 将各个路径连接起来。
本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1588437,如需转载请自行联系原作者