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的视为文件名
OS模块中获取当前文件的绝对路径的相关方法的更多相关文章
- IOS中获取各个文件的目录路径的方法和NSFileManager类
转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...
- iOS中获取各种文件的目录路径的方法
我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...
- iOS中获取各种文件的目录路径和文件
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...
- IOS中获取各种文件的目录路径的方法-备
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...
- (转)IOS中获取各种文件的目录路径的方法
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...
- IOS中获取各种文件的路径介绍及方法
IOS中获取各种文件的目录路径的方法 技术交流新QQ群:414971585 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. docum ...
- 有关文件夹与文件的查找,删除等功能 在 os 模块中实现
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
- 使用os模块动态获取目录或文件路径
在接口自动化测试框架中,我们的代码除了能在本地运行,也能在不在修改代码的前提下在其他的环境下能够运行,这样才能达到高复用性和低维护成本,我们在接口测试的模块调用中,会定义很多相关路径,而这些路径必须使 ...
- python基础:os模块中关于文件/目录常用的函数使用方法
Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...
随机推荐
- 771. Jewels and Stones - LeetCode
Question 771. Jewels and Stones Solution 题目大意:两个字符串J和S,其中J中每个字符不同,求S中包含有J中字符的个数,重复的也算 思路:Set记录字符串J中的 ...
- CentOS删除编译安装的Python3
编译安装Python3 # 下载 # wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz wget http://mirr ...
- 121_Power Query之R.Execute的read.xlsx&ODBC
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.问题 pq在用 Excel.Workbook 读取一些Excel早期版本(.xls后缀)的文件时候,报错:DataFo ...
- Vue 中 watch 的一个坑
开发所用 Vue 版本 2.6.11 子组件 coma 中两个属性: props: { url: { type: String, default: '' }, oriurl:{ type: Strin ...
- freeswitch使用mod_shout模块播放mp3
概述 freeswitch 在对VOIP语音通话中,可以通过playback命令播放IVR语音文件. 默认情况下,freeswitch支持wav文件,也可以直接播放VOIP中常见编解码的G711文件. ...
- 关于基础RMQ——ST算法
RMQ,Range Maximum/Minimum Query,顾名思义,就是询问某个区间内的最大值或最小值,今天我主要记录的是其求解方法--ST算法 相对于线段树,它的运行速度会快很多,可以做到O( ...
- HYPERMESH-NASTRAN梁的方向与偏置
Nastran关于梁的定义 我们知道,在定义梁单元时,一般需要定义单元的方向,或者说是单元的局部坐标系.对于Nastran内CBAR单元来说,梁轴向为X方向,我们需要给出向量\(\overrighta ...
- 【转】理解 CI 和 CD 之间的区别
有很多关于持续集成(CI)和持续交付(CD)的资料.很多文章用技术术语来进行解释,以及它们怎么帮助你的组织.可惜的是,在一些情况下,这些方法通常与特定工具.甚至供应商相关联.在公司食堂里非常常见的谈话 ...
- flowable如何适配国产数据库达梦
前言 flowable6.4.1流程引擎官方支持的数据库有:MySQL.hsql.Oracle.DB2 .postgres.SQL Server.H2.对于其他类型的数据库如何支持,尤其是国产数据库的 ...
- spring源码解析:元注解功能的实现
前言 众所周知,spring 从 2.5 版本以后开始支持使用注解代替繁琐的 xml 配置,到了 springboot 更是全面拥抱了注解式配置.平时在使用的时候,点开一些常见的等注解,会发现往往在一 ...