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 装饰器的实际作用有哪些,帮助大家更好的理解和学习python装饰器,感兴趣的朋友可以了解下
    2020-09-09
  • TensorFlow绘制loss/accuracy曲线的实例

    TensorFlow绘制loss/accuracy曲线的实例

    今天小编就为大家分享一篇TensorFlow绘制loss/accuracy曲线的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python模拟预测一下新型冠状病毒肺炎的数据

    python模拟预测一下新型冠状病毒肺炎的数据

    这篇文章主要介绍了python模拟预测一下新型冠状病毒肺炎的数据 ,需要的朋友可以参考下
    2020-02-02
  • python三种数据标准化方式

    python三种数据标准化方式

    这篇文章主要介绍了python三种数据标准化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • python之glob的用法详解

    python之glob的用法详解

    glob 是 Python 中用于文件模式匹配的一个模块,本文主要介绍了python之glob的用法详解,具有一定的参考价值,感兴趣的可以来了解一下
    2023-12-12
  • Python过滤序列元素的方法

    Python过滤序列元素的方法

    这篇文章主要介绍了Python过滤序列元素的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • python实现去掉字符串中的\xa0、\t、\n

    python实现去掉字符串中的\xa0、\t、\n

    这篇文章主要介绍了python实现去掉字符串中的\xa0、\t、\n方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 跟老齐学Python之复习if语句

    跟老齐学Python之复习if语句

    是否记得,在上一部分,有一讲专门介绍if语句的:从if开始语句的征程。在学习if语句的时候,对python编程的基础知识了解的还不是很多,或许没有做什么太复杂的东西。本讲要对它进行一番复习,通过复习提高一下。如果此前有的东西忘记了,建议首先回头看看前面那讲。
    2014-10-10
  • Pyecharts绘制可视化地球实现示例

    Pyecharts绘制可视化地球实现示例

    这篇文章主要为大家介绍了Pyecharts绘制可视化地球实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 浅谈Python数学建模之数据导入

    浅谈Python数学建模之数据导入

    数据导入是所有数模编程的第一步,比你想象的更重要。Python 语言中数据导入的方法很多。对于数学建模问题编程来说,选择什么方法最好呢?答案是:没有最好的,只有最合适的。对于不同的问题,不同的算法,以及所调用工具包的不同实现方法,对于数据就会有不同的要求
    2021-06-06

最新评论