python获取程序执行文件路径的方法(推荐)


Posted in Python onApril 26, 2018

1.获取当前执行主脚本方法:sys.argv[0]和_ file _

(1)sys.argv

一个传给Python脚本的指令参数列表。sys.argv[0]是脚本的名字。一般得到的是相对路径,用os.path.abspath(sys.argv[0])得到执行文件的绝对路径:

dirname, filename = os.path.split(os.path.abspath(sys.argv[0])) 
os.path.realpath(sys.argv[0])

如果在命令行执行sys.argv返回解释器路径:[‘/Library/Frameworks/Python.framework/Versions/3.6/bin/ipython3']

(2)_ _ file_ _

获得当前执行模块所在的路径,一般为相对路径,用os.path.abspath(_ _ file_ _)得到执行文件的绝对路径:

dirname, filename = os.path.split(os.path.abspath( _ _ file_ _)) 
os.path.realpath(_ _ file_ _)

注意:Python控制台下,直接使用print _ _ file _ 是会导致 name ‘ _ file _ ' is not defined错误的,因为这时没有在任何一个脚本下执行,自然没有 _ file _ _的定义了。

(3)sys.argv[0]和_ _ file _ _的差异:在主执行文件中时,两者没什么差异,不过要是在不同的文件下,就不同了,如a.py,b.py这两个文件

python获取程序执行文件路径的方法(推荐)

python获取程序执行文件路径的方法(推荐)

执行a.py结果如下:

python获取程序执行文件路径的方法(推荐)

如上图结果可以看出:如果都是a.py两者结果无异,但是从在a中导入b时执行的sys.argv[0]还是指的是运行的主文件:a.py而_ _ file_ _却输出的是b.py

2.sys.path

模块搜索路径的字符串列表。由环境变量PYTHONPATH初始化得到。是一个目录的列表,sys.path[0]是调用Python解释器的当前脚本所在的目录,即主执行文件的父级目录。

例子:如在/user/ybp/a.py的文件a.py中执行:print(sys.path[0])==>/user/ybp,

在命令行执行返回空字符串;

3.注意os.path是系统环境变量,要与上面区分开来,没有os.path[0],os.path中的一些方法:

(1)os.path.split(path)

将路径名称分成头和尾一对。尾部永远不会带有斜杠。如果输入的路径以斜杠结尾,那么得到的空的尾部。

如果输入路径没有斜杠,那么头部位为空。如果输入路径为空,那么得到的头和尾都是空。

https://docs.python.org/2/library/os.path.html#os.path.split

(2)os.path.realpath(path)

返回特定文件名的绝对路径,可以在命令行中执行。

https://docs.python.org/2/library/os.path.html#os.path.realpath

4.os.getcwd()返回的是当前工作路径,而不一定需要是在脚本里面执行,这个命令相当于pwd,可以在命令行中执行,返回的是绝对路径;

以上这篇python获取程序执行文件路径的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python之py2exe打包工具详解
Jun 14 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
Python中的TCP socket写法示例
May 11 Python
Python装饰器的执行过程实例分析
Jun 04 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
为什么相对PHP黑python的更少
Jun 21 Python
python3让print输出不换行的方法
Aug 24 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
python中的文件打开与关闭操作命令介绍
Apr 26 #Python
python3获取当前文件的上一级目录实例
Apr 26 #Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 #Python
python3中获取文件当前绝对路径的两种方法
Apr 26 #Python
python获取当前目录路径和上级路径的实例
Apr 26 #Python
python 删除非空文件夹的实例
Apr 26 #Python
Python3.5 创建文件的简单实例
Apr 26 #Python
You might like
php分页函数
2006/07/08 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
在网页中屏蔽快捷键
2006/09/06 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
jquery等待效果示例
2014/05/01 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python中的Numpy矩阵操作
2018/08/12 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
python验证身份证信息实例代码
2019/05/06 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
numpy库reshape用法详解
2020/04/19 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
帕克纽约:PARKER NY
2018/12/09 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
质检部经理岗位职责
2014/02/19 职场文书
优秀员工获奖感言
2014/03/01 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
离职保密承诺书
2014/05/28 职场文书
学生检讨书如何写
2014/10/30 职场文书
大连星海广场导游词
2015/02/10 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书