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使用sorted排序的方法小结
Jul 28 Python
Python编程argparse入门浅析
Feb 07 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
May 07 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
python 基于TCP协议的套接字编程详解
Jun 29 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
python对Excel按条件进行内容补充(推荐)
Nov 24 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python调用有道智云API实现文件批量翻译
Oct 10 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
Python Pandas数据分析之iloc和loc的用法详解
Nov 11 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
VFP与其他应用程序的集成
2006/10/09 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
如何写好优秀的创业计划书
2014/01/30 职场文书
如何写一封打动人心的求职信
2014/02/17 职场文书
学校法制宣传月活动总结
2014/07/03 职场文书
考试保密承诺书
2014/08/30 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
分享python函数常见关键字
2022/04/26 Python