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 相关文章推荐
wxPython窗口的继承机制实例分析
Sep 28 Python
python实现在每个独立进程中运行一个函数的方法
Apr 23 Python
Python的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
python简易实现任意位数的水仙花实例
Nov 13 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
python 操作hive pyhs2方式
Dec 21 Python
django model通过字典更新数据实例
Apr 01 Python
python语言是免费还是收费的?
Jun 15 Python
Python如何在windows环境安装pip及rarfile
Jun 15 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
Python如何用re模块实现简易tokenizer
May 02 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建立文件夹代码
2015/01/06 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
详解django中自定义标签和过滤器
2017/07/03 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
Python坐标线性插值应用实现
2019/11/13 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
车工岗位职责
2013/11/26 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
党员对照检查材料
2014/09/22 职场文书
2014年应急工作总结
2014/12/11 职场文书
收银员岗位职责
2015/02/03 职场文书
失恋33天观后感
2015/06/11 职场文书
课程设计感想范文
2015/08/11 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
js实现自动锁屏功能
2021/06/02 Javascript
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript
python lambda 表达式形式分析
2022/04/03 Python