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模块,我们不需要关心什么操作系统下使用什么模 ...
随机推荐
- Nginx分片限流
一.全局限流 在http节点中添加 # 创建限流规则 limit_req_zone $binary_remote_addr zone=addr:10m rate=1r/s;# 客户端进行限流 # li ...
- asp.net6 blazor 文件上传
微软在asp.net6中给blazor新增了一个IJSStreamReference的接口. 我们今天的所有内容,都要依赖这个接口,因为它可以把流直接传到c#中,这样我们就可以做很多的骚操作了. 今天 ...
- ethtools-网卡适配器管理
查看网卡适配器配置信息,并且我们可以通过它修改网卡适配器的双工模式. 1.安装Ethtools [root@localhost ~]# yum -y install ethtools 2.命令语法 语 ...
- SPPNet(特征金字塔池化)学习笔记
SPPNet paper:Spatial pyramid pooling in deep convolutional networks for visual recognition code 首先介绍 ...
- hdu多校题解
hdu2020多校-1 J Math is Simple 给定 \(n\) ,求 \[\sum\limits_{1\le a<b\le n \\ gcd(a,b)=1 \\ a+b\ge n} ...
- LowDB采坑记录(主要为lowdb3.0的Cannot find module和lowdb1.0 node不断自启动的问题)
bug1: Error [ERR_ MODULE_ NOT_ FOUND]: Cannot find module 在使用最新版LowDB(3.0)时,发现typescript中直接引用模块名(如以下 ...
- ROS基本程序实现
0.前言 现在介绍ROS基本程序实现的教程有很多,步骤无非就是建工作空间,编译,创建功能包,创建文件和修改CMakeList,之后再编译.运行程序这几步.但是这些教程中很多在文件夹切换的很混乱,导致会 ...
- YAML在线验证
推荐一个网站:YAML在线验证https://www.bejson.com/validators/yaml_editor/
- 【Redis】集群请求命令处理
集群请求命令处理 在Redis的命令处理函数processCommand(server.c)中有对集群节点的处理,满足以下条件时进入集群节点处理逻辑中: 启用了集群模式,通过server.cluste ...
- Javaweb_Tomcat配置
1.基本概念 1.1 前言 web开发: web,网页的意思 静态web html,css 提供给所有人看的数据始终不会发生改变 动态web 淘宝,几乎所有的网站 提供给所有人看的数据始终会发生变化, ...