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

yipeiwu_com6年前Python基础

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脚本实现ping百度和google的方法

Ping服务 ping 是基于 XML_RPC 标准协议的更新通告服务,用于Blog把内容更新快速通知给搜索引擎,以便搜索引擎及时进行抓取和更新。 计算机就相当于 RPC Client...

django rest framework 数据的查找、过滤、排序的示例

django rest framework 数据的查找、过滤、排序的示例

对于管理系统,常常需要展示列表数据,我们对于列表内的数据常常需要查找、过滤、排序等操作,其中查找等操作大部分是在后台进行的。django rest framework可以轻松的实现数据的...

python判断字符串或者集合是否为空的实例

最近在看《Effective Python》,里面提到判断字符串或者集合是否为空的原则,原文如下: Don't check for empty values (like [] or ''...

python win32 简单操作方法

源由 刚开始是帮朋友做一个按键精灵操作旺信的脚本,写完后各种不稳定;后来看到python可以操作win32相关的api,恰好这一段时间正在学习python,感觉练手的时候到了~~~ 下载...

python安装cx_Oracle模块常见问题与解决方法

本文实例讲述了python安装cx_Oracle模块常见问题与解决方法。分享给大家供大家参考,具体如下: 安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclnts...