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自动化测试工具Splinter简介和使用实例
May 13 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
Python 基础教程之包和类的用法
Feb 23 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
python实现换位加密算法的示例
Oct 14 Python
Django如何自定义model创建数据库索引的顺序
Jun 20 Python
pytz格式化北京时间多出6分钟问题的解决方法
Jun 21 Python
python中自带的三个装饰器的实现
Nov 08 Python
python实现UDP协议下的文件传输
Mar 20 Python
Django 5种类型Session使用方法解析
Apr 29 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 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+ACCESS 文章管理程序代码
2010/06/21 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
js一组验证函数
2008/12/20 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
python的slice notation的特殊用法详解
2019/12/27 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
造价工程师个人求职信
2013/09/21 职场文书
竞选演讲稿范文
2013/12/28 职场文书
幼儿园中秋节活动方案
2014/02/06 职场文书
大课间活动实施方案
2014/03/06 职场文书
国庆节演讲稿
2014/05/27 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
岗位聘任协议书
2015/09/21 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
Python基础知识之变量的详解
2021/04/14 Python
解析Java异步之call future
2021/06/14 Java/Android
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS