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编程中的字符串
Oct 14 Python
Python字典简介以及用法详解
Nov 15 Python
Python3 queue队列模块详细介绍
Jan 05 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
python实现二维插值的三维显示
Dec 17 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
python的range和linspace使用详解
Nov 27 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
Python 多线程处理任务实例
Nov 07 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提示undefined index的几种解决方法
2012/05/21 PHP
smarty中post用法实例
2014/11/28 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
JS文本框默认值处理详解
2013/07/10 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
Python高效编程技巧
2013/01/07 Python
简单介绍Python中的len()函数的使用
2015/04/07 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
如何在sublime编辑器中安装python
2020/05/20 Python
python如何输出反斜杠
2020/06/18 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
门卫岗位职责
2015/02/09 职场文书
培训通知书模板
2015/04/17 职场文书
十七岁的单车观后感
2015/06/12 职场文书
2019年预备党员的思想汇报:加深对党的认知
2019/09/25 职场文书
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
2021/06/11 Python
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server