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

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import os
import sys
print("abs path is %s" %(os.path.abspath(sys.argv[0])))

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

Python获取当前脚本绝对路径相关推荐

  1. python获取当前脚本所在路径并在此基础上创建新的文件路径

    代码 运行

  2. python读文件路径-python获取程序执行文件路径的方法(推荐)

    1.获取当前执行主脚本方法:sys.argv[0]和_ file _ (1)sys.argv 一个传给Python脚本的指令参数列表.sys.argv[0]是脚本的名字.一般得到的是相对路径,用os. ...

  3. python获取当前路径和上一层路径_python获取当前路径和上一级路径

    围观人数: 3 标签:getc   当前目录   路径   print   bsp   获取   目录   dir   dirname """获取当前目录"&q ...

  4. 获取当前脚本目录路径问题汇总

    20211223 https://blog.csdn.net/qq_43178297/article/details/88053836 获取上一层目录 import osprint('***获取当前目 ...

  5. 如何使用Node.js获取当前脚本的路径?

    我如何获得Node.js中脚本的路径? 我知道有process.cwd ,但这只是指调用脚本的目录,而不是脚本本身. 例如,假设我在/home/kyle/运行以下命令: node /home/kyle ...

  6. Python获取与处理文件路径/目录路径

    目录 文件目录结构说明 一.路径获取 1.1 获取当前文件的绝对路径 1.2.1 获取当前文件的所在目录 1.2.2 获取当前文件的所在目录的上一级目录 1.3 获取当前文件名 1.4 获取当前文件对 ...

  7. python 获取向上两级路径_全国计算机二级Python真题解析-1

    以下分享的是真题第一套中的操作题部分,操作题一共6道共计60分(5分/道*3道+10分+15分+20分),今天讲解的这道题是前面5道大题,最后一道题有时间再讲. 第一题(试卷第41题):(41)考生文 ...

  8. python 获取向上两级路径_Python学习第171课--相对路径和绝对路径

    [每天几分钟,从零入门python编程的世界!] 这节我们补充2个概念:相对路径和绝对路径. ●绝对路径 就像一棵大树一样,从它的根开始,往上会有大的枝干,在大的枝干上面又会有小一点的树枝,小树枝上面 ...

  9. python获取文件的绝对路径

    在测试过程中,通常需要读取文件或写入文件,当要读写的文件和当前文件不在同一目录时,用相对路径经常会报找不到文件的错误.所以为了解决这个问题,我们通常在读写文件时,使用绝对路径. 但是文件路径写为绝对路 ...

最新文章

  1. 深度学习模型参数量/计算量和推理速度计算
  2. Linux_《Linux命令行与shell脚本编程大全》第十八章学习总结
  3. coreldraw水涟漪怎么做_曹晓岚:水公园的主题文化营销怎么做?
  4. PHP中oop面向对象基础知识(一)
  5. Angular里如何测试一个具有外部依赖的Component
  6. Recall(召回率) Precision(准确率) F-Measure E值 sensitivity(灵敏性) specificity(特异性)漏诊率 误诊率 ROC AUC
  7. [剑指offer][JAVA]面试题第[06]题[从尾到头打印链表][栈][递归]
  8. UDP:用户数据报协议 是什么
  9. 释放虚拟GPU力量 NVIDIA 加速企业远程办公生产力变革
  10. 在 Xcode 中进行自动化测试 (2/2)
  11. JavaWeb——AOP
  12. usb通讯——读《圈圈教你玩usb》
  13. 感冒、咳嗽、发烧、腹泻、扁桃体炎是儿童常见病
  14. 数据仓库指北(文末附PDF下载)
  15. LeetCode力扣刷题——简单易懂的贪心算法
  16. OpenCV中稠密光流算法总结
  17. 处理 __iob_func 无法链接的问题
  18. MT6765 datasheet手册,MT6765参考设计,MT6765芯片资料
  19. linux 平铺式桌面,Terminix:基于 GTK3 的平铺式 Linux 终端模拟器
  20. Lucene关键字高亮显示

热门文章

  1. 李飞飞访谈:AI以人为本——之笔者见
  2. Elasticsearch之CURL命令的version控制
  3. ORACLE使用GV_$TEMP_SPACE_HEADER统计临时表空使用情况不准确的问题
  4. 【转】窗口之间的主从关系与Z-Order
  5. 02.centos6.4找不到ifcfg-eth0(静态ip配置)
  6. mysql-mha高可用
  7. Ubuntu建立(apache+php+mysql)+phpmyadmin
  8. 【学习笔记】JS进阶语法一window对象
  9. 浅谈移动类型102、122和161区别
  10. SAP LSMW批导数据的几个注意点