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计数排序和基数排序算法实例
Apr 25 Python
python实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
Python复制文件操作实例详解
Nov 10 Python
python基于pygame实现响应游戏中事件的方法(附源码)
Nov 11 Python
python学生信息管理系统
Mar 13 Python
教你使用python画一朵花送女朋友
Mar 29 Python
在python下读取并展示raw格式的图片实例
Jan 24 Python
python selenium 弹出框处理的实现
Feb 26 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
python中常见错误及解决方法
Jun 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
初探PHP5
2006/10/09 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
python统计日志ip访问数的方法
2015/07/06 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
python之super的使用小结
2018/08/13 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
python3中数组逆序输出方法
2020/12/01 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
电视购物广告词
2014/03/19 职场文书
大学新生军训方案
2014/05/03 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书