python获取当前文件所在目录、获取上级目录的坑及解决

 更新时间:2023年08月22日 14:15:26   作者:Superstarimage  
这篇文章主要介绍了python获取当前文件所在目录、获取上级目录的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python获取当前文件所在目录、获取上级目录的坑

在项目里为了方便迁移到其它机器不会出现路径错误,经常使用相对路径。

在python中获取当前文件所在路径的方式

有以下几种:

第一种是获取当前文件的全路径:

# 获取当前文件的路径,包括文件名
print(__file__)

第二种是获取当前文件所在目录:

# dirname去掉文件名,返回目录
print(os.path.dirname(__file__))

第三种是获取当前文件的工作目录:

# getcwd返回当前工作目录,有可能和当前文件所在目录不同
print(os.getcwd())

实际写程序的时候,如果怎么配路径都不对的话,有可能是因为用的不是当前文件的工作目录——有时候当前文件的工作目录和当前文件实际所在的目录是不一样的。。。

所以配置相对路径时,第一步先使用os.getcwd()查看当前文件所在的工作目录,然后再做具体的配置。

获取上级目录,及上上级目录方法

如下:

# 获取上级目录
print(os.path.abspath(os.path.join(os.getcwd(), "..")))
# 获取上上级目录
print(os.path.abspath(os.path.join(os.getcwd(), "../..")))

python利用os获取目录

返回当前文件下的工作目录路径

os.path.abspath('test.txt')

返回当前工作目录

os.getcwd()
os.path.abspath('.')
os.path.abspath(os.curdir)
os.path.abspath(os.path.dirname(os.path.abspath(__file__)))

返回上级工作目录

os.path.abspath('..')

os.walk() 用于在目录树中游走输出目录中的文件名

for root, dirs, filesin os.walk(os.getcwd()):
    print(root)        #os.walk()所在目录
    print(dirs)        #os.walk()所在目录的所有目录名
    print(files)       #os.walk()所在目录的所有非目录文件名

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Python静态网页爬取获取高清壁纸

    详解Python静态网页爬取获取高清壁纸

    这篇文章主要介绍了Python爬取高清壁纸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Python报错NameError: name ‘secrets‘ is not defined解决

    Python报错NameError: name ‘secrets‘ is not

    在使用Python进行安全编程时,我们经常需要使用secrets模块来生成安全的随机数,但是却遇到这个问题,本文主要介绍了Python报错NameError: name ‘secrets‘ is not defined解决,感兴趣的可以了解一下
    2024-06-06
  • python self,cls,decorator的理解

    python self,cls,decorator的理解

    在python里面,self, cls 不是关键字,完全可以使用自己写的任意变量代替实现一样的效果
    2009-07-07
  • Python实现的数据结构与算法之链表详解

    Python实现的数据结构与算法之链表详解

    这篇文章主要介绍了Python实现的数据结构与算法之链表,详细分析了链表的概念、定义及Python实现与使用链表的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • PyTorch中的C++扩展实现

    PyTorch中的C++扩展实现

    这篇文章主要介绍了PyTorch中的C++扩展实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python Socket实现远程木马弹窗详解

    Python Socket实现远程木马弹窗详解

    这篇文章主要介绍了Python Socket实现远程木马弹窗详解,Socket用来描述IP地址和端口,是通信链的句柄,应用程序可以通过Socket向网络发送请求或者应答网络请求
    2022-07-07
  • python中的sort方法使用详解

    python中的sort方法使用详解

    这篇文章主要介绍了python中的sort方法,需要的朋友可以参考下
    2014-07-07
  • Python地理地图可视化folium标记点弹窗设置代码(推荐)

    Python地理地图可视化folium标记点弹窗设置代码(推荐)

    这篇文章主要介绍了Python地理地图可视化folium标记点弹窗设置,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python实现一个简单RPC框架的示例

    python实现一个简单RPC框架的示例

    本文将会使用Python实现一个最简单的RPC框架,不具有实用意义,但可以让你清醒地理解RPC框架的几个组成部分,只是比看Python自带的xmlrpc清晰。
    2020-10-10
  • python+pyqt5实现24点小游戏

    python+pyqt5实现24点小游戏

    这篇文章主要为大家详细介绍了python+pyqt5实现24点小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01

最新评论