Python获取当前脚本文件夹(Script)的绝对路径方法代码


Posted in Python onAugust 27, 2019

Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题。感觉是当前工作目录变成了导入py文件当前目录。如果你有配置文件的读取操作,然后都放在一个py文件中,而你又用的是相对路径,而且这个py文件在多个不同目录下的py文件中被导入,那就呵呵了。。。还是用绝对路径吧。

解决这个问题,可以用绝对路径。当然是自动的绝对路径,而不是每次都手动给前缀赋值,让脚本自动寻找当前文件的绝对路径。

此处分享在python下获取一个脚本的绝对路径的2种方式。

1、__file__变量

abs_file=__file__
print("abs path is %s" %(__file__))
abs_dir=abs_file[:abs_file.rfind("\\")]   # windows下用\\分隔路径,linux下用/分隔路径

简单直接,当前py文件的绝对目录就有了。首推此方式。

2、os+sys

import os
import sys
print("abs path is %s" %(os.path.abspath(sys.argv[0])))

在windows下sys.argv[0]直接取出的就是参数,如果执行命令传参用的是绝对路径取出的就是带绝对路径,如果传参用的是相对路径,就用得上前面的os.path.abspath()函数了。

以上就是全部实例内容,感谢大家的阅读和对三水点靠木的支持。

Python 相关文章推荐
python列表去重的二种方法
Feb 14 Python
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
Jun 10 Python
Django中几种重定向方法
Apr 28 Python
Python数据库的连接实现方法与注意事项
Feb 27 Python
使用pygame模块编写贪吃蛇的实例讲解
Feb 05 Python
python 字典修改键(key)的几种方法
Aug 10 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
pytorch之添加BN的实现
Jan 06 Python
python 回溯法模板详解
Feb 26 Python
Python ellipsis 的用法详解
Nov 20 Python
举例讲解Python装饰器
Dec 24 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 #Python
python中下标和切片的使用方法解析
Aug 27 #Python
python使用if语句实现一个猜拳游戏详解
Aug 27 #Python
Python socket 套接字实现通信详解
Aug 27 #Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 #Python
手写一个python迭代器过程详解
Aug 27 #Python
浅析Python语言自带的数据结构有哪些
Aug 27 #Python
You might like
对于PHP 5.4 你必须要知道的
2013/08/07 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
python提示No module named images的解决方法
2014/09/29 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
深入理解Python中的super()方法
2017/11/20 Python
python模拟事件触发机制详解
2018/01/19 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
详解Python中的分支和循环结构
2020/02/11 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
Python使用openpyxl复制整张sheet
2021/03/24 Python
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
《四季》教学反思
2014/04/08 职场文书
厂区绿化方案
2014/05/08 职场文书
2014年科协工作总结
2014/12/09 职场文书
考试作弊检讨书
2015/01/27 职场文书
人事局接收函
2015/01/30 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
培养联系人考察意见
2015/06/01 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle