Python获取当前路径实现代码


Posted in Python onMay 08, 2017

 Python获取当前路径实现代码

import os,sys

使用sys.path[0]、sys.argv[0]、os.getcwd()、os.path.abspath(__file__)、os.path.realpath(__file__)

sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入

sys.path。

如果你在C:\test目录下执行python getpath\getpath.py,那么os.getcwd()会输出“C:\test”,sys.path[0]会输出“C:\test\getpath”。

如果你用py2exe模块把Python脚本编译为可执行文件,那么sys.path[0]的输出还会变化:

如果把依赖库用默认的方式打包为zip文件,那么sys.path[0]会输出“C:\test\getpath\libarary.zip”;

如果在setup.py里面指定zipfile=None参数,依赖库就会被打包到exe文件里面,那么sys.path[0]会输出“C:\test\getpath\getpath.exe”。

#!/bin/env python
#-*- encoding=utf8 -*-

import os,sys

if __name__=="__main__":

  print "__file__=%s" % __file__

  print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

  print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))

  print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0]


  print "os.path.abspath(__file__)=%s" % os.path.abspath(__file__)

  print "os.getcwd()=%s" % os.getcwd()

  print "sys.path[0]=%s" % sys.path[0]

  print "sys.argv[0]=%s" % sys.argv[0]

输出结果:

D:\>python ./python_test/test_path.py
__file__=./python_test/test_path.py
os.path.realpath(__file__)=D:\python_test\test_path.py
os.path.dirname(os.path.realpath(__file__))=D:\python_test
os.path.split(os.path.realpath(__file__))=D:\python_test
os.path.abspath(__file__)=D:\python_test\test_path.py
os.getcwd()=D:\
sys.path[0]=D:\python_test
sys.argv[0]=./python_test/test_path.py

os.getcwd() “D:\”,取的是起始执行目录

sys.path[0]或sys.argv[0] “D:\python_test”,取的是被初始执行的脚本的所在目录

os.path.split(os.path.realpath(__file__))[0] “D:\python_test”,取的是__file__所在文件test_path.py的所在目录 

正确获取当前的路径:

__file__是当前执行的文件

 

  # 获取当前文件__file__的路径

  print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

  # 获取当前文件__file__的所在目录

  print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__)) 
  # 获取当前文件__file__的所在目录

  print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0] 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
介绍Python的Django框架中的QuerySets
Apr 20 Python
python使用分治法实现求解最大值的方法
May 12 Python
在Mac OS上搭建Python的开发环境
Dec 24 Python
浅析python中的分片与截断序列
Aug 09 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 Python
在python中实现对list求和及求积
Nov 14 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
python实现批处理文件
Jul 28 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 Python
学点简单的Django之第一个Django程序的实现
Feb 24 Python
Django自定义分页与bootstrap分页结合
Feb 22 #Python
利用python写个下载teahour音频的小脚本
May 08 #Python
通过源码分析Python中的切片赋值
May 08 #Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 #Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 #Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 #Python
利用Celery实现Django博客PV统计功能详解
May 08 #Python
You might like
隐藏你的.php文件的实现方法
2007/03/19 PHP
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
js调用css属性写法
2013/09/21 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
vue v-model的用法解析
2020/10/19 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
对于Python的框架中一些会话程序的管理
2015/04/20 Python
Python实现处理管道的方法
2015/06/04 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
wxPython实现分隔窗口
2019/11/19 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
寄语是什么意思
2014/04/10 职场文书
主要负责人任命书
2014/06/06 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
教师工作证明范本
2015/06/12 职场文书
学习雷锋主题班会
2015/08/14 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书