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使用PyCrypto实现AES加密功能示例
May 22 Python
Python3 适合初学者学习的银行账户登录系统实例
Aug 08 Python
PyQt5每天必学之像素图控件QPixmap
Apr 19 Python
Python之文字转图片方法
May 10 Python
Python实现E-Mail收集插件实例教程
Feb 06 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
简单了解python中对象的取反运算符
Jul 01 Python
Pyorch之numpy与torch之间相互转换方式
Dec 31 Python
Python如何读写二进制数组数据
Aug 01 Python
Python logging日志库空间不足问题解决
Sep 14 Python
Python实战之OpenCV实现猫脸检测
Jun 26 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 生成饼图 三维饼图
2009/09/28 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
Vue组件化通讯的实例代码
2017/06/23 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
django站点管理详解
2017/12/12 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
Django中url的反向查询的方法
2018/03/14 Python
python制作填词游戏步骤详解
2019/05/05 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
旅游与酒店管理专业求职信
2014/07/21 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
党员证明信
2015/06/19 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书