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实现给文件添加内容及得到文件信息的方法
May 28 Python
Python进行数据提取的方法总结
Aug 22 Python
安装Python的教程-Windows
Jul 22 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
python实现多线程网页下载器
Apr 15 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
PyQt5-QDateEdit的简单使用操作
Jul 12 Python
通过实例解析python and和or使用方法
Nov 14 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 静态化实现代码
2009/03/20 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
php中final关键字用法分析
2016/12/07 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
js动态切换图片的方法
2015/01/20 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
Vue函数式组件的应用实例详解
2019/08/30 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
python实现飞机大战
2018/09/11 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
Python如何转换字符串大小写
2020/06/04 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
四查四看整改措施
2014/09/19 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL