Python - 获取当前目录/上级目录/上上级目录

/ 前言 /

       我们在Python开发中时常需要读取配置文件、获取当前文件所在路径, 本文将会介绍Python获取当前目录/上级目录/上上级目录…等操作
       Python脚本编译时使用的是Python3.x版本, Python2.x版本也可使用

/ 语法 /

  • os.getcwd()

    获取调用脚本的路径, 这是什么意思呢, 我们来看个例子

    有俩个脚本

  1. get_path.py : /Users/wise/PycharmProjects/deploy/get_path.py

  2. test.py         : /Users/wise/PycharmProjects/deploy/test/test.py

    get_path.py
    # -*- coding: UTF-8 -*-
    import os
    
    def get_path_by_cwd ():
        print(os.getcwd())
    
    get_path_by_cwd()
    

    输出 : /Users/wise/PycharmProjects/deploy

    test.py
    # -*- coding: UTF-8 -*-
    import get_path
    # 调用get_path中的get_path_by_cwd()函数
    get_path.get_path_by_cwd()
    

    输出 : /Users/wise/PycharmProjects/deploy/test

    所以说os.getcwd()函数获取到的是调用该函数的项目路径

  • os.path.dirname()

    获取当前文件所在的目录

    import os
    
    print(os.path.dirname(__file__))
    

    输出 : /Users/wise/PycharmProjects/deploy

  • os.path.abspath()

    获取当前文件的绝对路径

    # -*- coding: UTF-8 -*-
    import os
    
    print(os.path.abspath(__file__))
    

    输出 : /Users/wise/PycharmProjects/deploy/get_path.py

    os.path.abspath()和os.path.dirname()一般都配合着一起使用

    # -*- coding: UTF-8 -*-
    import os
    
    print(os.path.abspath(os.path.dirname(__file__)))
    

    输出 : /Users/wise/PycharmProjects/deploy

  • os.path.join()

    获取多个路径组合后的路径

    # -*- coding: UTF-8 -*-
    import os
      
    print(os.path.join(os.path.dirname(__file__),'join_path'))
    

    输出 : /Users/wise/PycharmProjects/deploy/join_path

    注意 : os.path.join()会自动拼接/, 请不要在参数中开始的位置带/

    否则将前面的参数全部删掉, 如下所示

    # -*- coding: UTF-8 -*-
    import os
      
    print(os.path.join(os.path.dirname(__file__),'/join_path'))
    

    输出 : /join_path

/ 实战操作 /

# -*- coding: UTF-8 -*-
import os

# 获取当前目录
print(os.getcwd())
print(os.path.dirname(__file__))
print(os.path.abspath(os.path.dirname(__file__)))

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

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

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

# ...以此类推

输出

-------------获取当前目录-------------
/Users/wise/PycharmProjects/deploy
/Users/wise/PycharmProjects/deploy
/Users/wise/PycharmProjects/deploy

-------------获取上级目录-------------
/Users/wise/PycharmProjects
/Users/wise/PycharmProjects
/Users/wise/PycharmProjects

-------------获取上上级目录-------------
/Users/wise

-------------获取上上上级目录-------------
/Users
原创文章 42 获赞 51 访问量 1万+

猜你喜欢

转载自blog.csdn.net/F1004145107/article/details/106006655
今日推荐