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连接池实现示例程序
Nov 26 Python
python下载文件时显示下载进度的方法
Apr 02 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
Python模块zipfile原理及使用方法详解
Aug 04 Python
python Selenium 库的使用技巧
Oct 16 Python
python tkinter实现定时关机
Apr 21 Python
Python实现科学占卜 让视频自动打码
Apr 09 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的memory_limit限制的方法分享
2012/02/21 PHP
php数组去重实例及分析
2013/11/26 PHP
JavaScript中常见陷阱小结
2010/04/27 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
Python中特殊函数集锦
2015/07/27 Python
python中map()与zip()操作方法
2016/02/27 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
详解python之配置日志的几种方式
2017/05/22 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
会计自我鉴定
2013/11/02 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
 python中的元类metaclass详情
2022/05/30 Python