• OS模块中获取当前文件的绝对路径的相关方法


    os.path.realpath(__file__)

    作用:获取当前执行py脚本的绝对路径(在当前工作目录下的绝对路径)

    __file__ : 表示当前文件的本身,一般值是当前文件的相对路径

    例如:

    main.py 脚本文件的路径是 /home/study_explore/cnn_VMASK/main.py

    在main.py 文件中运行以下代码:

    dir_path = os.path.realpath(__file__)
    print(__file__)
    print(dir_path)
    
    >> main.py
    >> /home/study_explore/cnn_VMASK/main.py
    

    os.path.dirname(path)

    作用: 去掉文件名(或者文件夹),并返回该文件所在的目录

    例如:

    main.py 脚本文件的路径是 /home/study_explore/cnn_VMASK/main.py,在main.py 中有如下代码:

    dir_path = os.path.realpath(__file__)
    print(os.path.dirname(dir_path))
    print(os.path.dirname(os.path.dirname(dir_path)))
    
    >> /home/study_explore/cnn_VMASK
    >> /home/study_explore
    

    TIPS: os.path.realpath(__file__) 和 os.path.dirname(path) 结合起来使用就可以的到在工作目录下的当前文件所在目录的绝对路径。

    例如:

    main.py 脚本文件的路径是 /home/study_explore/cnn_VMASK/main.py,在main.py 中有如下代码:

    dir_path = os.path.dirname(os.path.realpath(__file__))
    print(dir_path)
    
    >> /home/study_explore/cnn_VMASK
    

    os.path.abspath()

    作用: 返回指定的py脚本的绝对路径

    例如:

    main.py 脚本文件的路径是 /home/study_explore/cnn_VMASK/main.py,在main.py 中有如下代码:

    print(os.path.abspath(__file__))
    print(os.path.abspath(".")) #当前文件所在目录的绝对路径
    print(os.path.abspath("..")) #当前文件的上级目录的绝对路径
    
    >> /home/study_explore/cnn_VMASK/main.py
    >> /home/study_explore/cnn_VMASK
    >> /home/study_explore
    

    os.path.basename()

    作用: 返回当前所在脚本的文件名称

    例如:

    print(os.path.basename(__file__))
    
    >> main.py
    

    os.getcwd()

    作用: 返回当前进程的工作目录。

    工作目录:每一个可运行的程序都会有一个工作目录,而不是直接在根目录下运行的,该程序的相对路径就是指相对于工作目录。

    相对应的 os.chdir() --> 设置当前进程的工作目录

    例如:

    main.py 脚本文件的路径是 /home/study_explore/cnn_VMASK/main.py,在main.py 中有如下代码:

    dir_path = os.path.dirname(os.path.realpath(__file__))
    os.chdir(dir_path)
    print(os.getcwd())
    
    >> /home/study_explore/cnn_VMASK
    

    os.path.join()

    作用: 文件路径的拼接

    详细请见: python中 OS模块中 os.path.join() 函数用法简介 - jacknie23 - 博客园 (cnblogs.com)

    os.path.split()

    作用: 分割全路径名中的目录和文件名; 如果给出的是一个目录和文件名(a/b/c.py)或者(a/b/c),则输出路径和文件名(("a/b","c.py")) 或者 (("a/b","c")) ; 如果给出的是一个目录名(a/b/c),则输出路径和为空文件名(("a/b/c",""))

    也就是说,它仅仅是以 全路径名 中最后一个 '/' 作为分隔符,分隔后,将索引为0的视为目录(路径),将索引为1的视为文件名

  • 相关阅读:
    ES6(ECMAScript 2015)有哪些新属性,如何判断当前浏览器是否支持?
    spark使用之ALS版本对比
    【Java第31期】:Spring中存储Bean的注解以及用法
    Mysql联合索引和最左匹配例子说明
    国军标9001c质量管理体系认证条件
    elementui修改message消息提示颜色
    Mysql中DQL(查询类)语句的执行顺序
    数商云:订单积压达 930 亿欧元,西门子如何通过供应链数字化转型缩短交货期
    (2022版)一套教程搞定k8s安装到实战 | Deployment
    基于单片机的智能扫地机设计
  • 原文地址:https://www.cnblogs.com/jack-nie-23/p/16557550.html