Python的os包与os.path模块的用法详情
作者:Mar丶流年 发布时间:2023-06-04 05:52:48
标签:Python,os包,os.path模块
一、os常用方法
1.获取当前路径 os.getcwd()
# coding:utf-8
import os
if __name__ == '__main__':
? ? print(os.getcwd()) ?# G:\workSpace\py_d
2.获取指定路径下有哪些文件和目录,os.listdir(path)返回一个list
# coding:utf-8
import os
if __name__ == '__main__':
? ? print(os.listdir(os.getcwd())) ?# ['.idea', 'main.py', 'os_module.py', 'sk']
3.创建目录(一级) os.mkdir(paht)
os.mkdir(path) 创建目录:
以下两种情况会报错:
2.要创建目录的上级目录不存在(a不存在,则不能创建b目录)
3.要创建的目录已存在(b存在,则不能创建b目录)
# coding:utf-8
import os
if __name__ == '__main__':
? ? os.mkdir('sk/a/b') ?# 在当前sk/a 目录中创建b目录
? ? # os.mkdir(os.path.join(os.getcwd(), 'sk', 'a', 'b')) 和上面的一样,只不过换成了绝对路径
4.删除文件 os.remove(path)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.remove(path)
? ? 要求path是文件且存在
? ? """
? ? os.remove("sk/a/b/503.py")
? ? # os.remove(os.path.join(os.getcwd(), 'sk', 'a', 'b', '503.py')) 和上面的一样,只不过路径换成绝对路径了
5.递归删除空目录 os.removedirs(path)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.removedirs(path)
? ? 如果最底层目录不是空目录直接报错(s2不是空目录则报错)
? ? 从最第底层目录开始删,一直删到最上层目录(先删s2,再删s1),当要删除的目录不是空目录时停止(s1不是空目录则停止)
? ? """
? ? os.removedirs('s1/s2')
? ? # os.removedirs(os.path.join(os.getcwd(), 's1', 's2')) 和上面的一样,只不过使用了绝对路径
6.删除空目录 os.rmdir(path)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? ? os.rmdir(path)
? ? ? path不存在且不是空目录则报错
? ? """
? ? os.rmdir('s1/s2')
7.创建多级目录 os.makedirs(path)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.makedirs(path,exists_ok=False) 创建多级目录
? ? 如果path目录已存在则报错,可以设置exist_ok 参数来抑制错误,exist_ok不等于False就不会抛出异常
? ? """
? ? os.makedirs("s1/s3")
? ? os.makedirs("s1/s3", exist_ok=True)
二、os.path 常用方法
1.路径拼接 os.path.join(path1,path2…)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.path.join(path1,path2......)
? ? 将多个路径拼接形成新的路径
? ? """
? ? print(os.path.join(os.getcwd(), 's1', 's2')) ?# G:\workSpace\py_d\s1\s2
2.路径分离 os.path.split(path) 返回tuple
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.path.split(path) 分割路径,返回一个tuple,由两个元素构成
? ? 第2个元素是path中最后一层的目录或者文件
? ? 第1个元素是path中除去第二个元素后剩余的路径,可以为空字符串
? ? """
? ? path = os.path.join(os.getcwd(), 's1', 's2')
? ? print(path) ?# G:\workSpace\py_d\s1\s2.my
? ? print(os.path.split(path)) ?# ('G:\\workSpace\\py_d\\s1', 's2.my')
? ? print(os.path.split('dir1')) ?# ('', 'dir1')
3.判断是否是目录 os.path.isdir(path)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.path.is_dir(path) 判断路径是不是目录,当路径不存在也返回False
? ? """
? ? print(os.path.isdir(os.getcwd())) ?# True
? ? print(os.path.isdir(os.path.join(os.getcwd(), 'main.py'))) ?# False 这是文件
? ? print(os.path.isdir('http://xxx.com')) ?# 不存在也返回False
4.判断是否是文件 os.path.isfile(paht)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.path.is_file(path) 判断路径是不是文件,当路径不存在也返回False
? ? """
? ? print(os.path.isfile(os.getcwd())) ?# False 这是目录
? ? print(os.path.isfile(os.path.join(os.getcwd(), 'main.py'))) ?# True 是文件
? ? print(os.path.isfile(os.path.join(os.getcwd(), 'abc'))) ?# False 不存在也返回False
5.判断路径是否存在 os.path.exists(path)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.path.exists(path) 判断路径是不是文件,当路径不存在也返回False
? ? """
? ? print(os.path.exists(os.path.join(os.getcwd(), 'main.py'))) ?# True main.py存在
? ? print(os.path.exists(os.path.join(os.getcwd(), 'abc.py'))) ?# False abc.py 不存在
6.判断路径是不是绝对路径 os.path.isabs(path)
# coding:utf-8
import os
if __name__ == '__main__':
? ? """
? ? os.path.abs(path) 判断路径是不是绝对路径,与存不存在无关
? ? """
? ? print(os.getcwd()) ?# G:\workSpace\py_d
? ? print(os.path.isabs(os.path.join(os.getcwd(), 'main.py'))) ?# True main.py存在
? ? print(os.path.isabs(os.path.join(os.getcwd(), 'abc.py'))) ? # True abc.py不存在
? ? print(os.path.isabs('a/b/c')) ?# False
来源:https://blog.csdn.net/qq_29744347/article/details/123082824?
0
投稿
猜你喜欢
- 描述sin()返回的x弧度的正弦值。语法以下是sin()方法的语法:importmath math.sin(x)注意:sin()是不能直接访
- 前言:随着编程语言的发展,Go 还很年轻。它于 2009 年 11 月 10 日首次发布。其创建者Robert Griesemer Rob
- 继续上一篇,针对Bootstrap Metronic菜单栏整理的笔记分享给大家,供大家参考,具体内容如下1.简介1) .环境配置
- 对于一个初级学习python的人,这将是一个非常简单而有趣的内容;代码非常简单,主要是:随机函数–需要导入random模块与条件语句的一个简
- 1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳import timeimport datetimet = time.time()print
- 前言:最近在接触利用python来写测试框架,本人也是个刚接触python,所以是个小菜鸟,今天开始,一点点的记录学习中的积累,方便以后的学
- 1.静态方法(staticmethod)静态方法:@staticmethod也是一个类方法,是可以直接类调用的。个人认为的使用场景是:只要要
- 如果你过分信任 Access 2000数据库的密码保护,你可能会因此而蒙受损失。这是因为Access 2000的数据库级密码并不安全,相反它
- 一、time时间模块import time1 、时间戳:time.time()时间戳(timestamp):时间戳表示的是从1970年1月1
- 问题描述有些小伙伴在使用python做GUI界面的时候可能想添加这么一个小功能,就是在界面的某个角落动态的显示当前的时间,本文将介绍具体方法
- 首先忠心感谢凌宇5942给我的帮助!在他的启迪下我发现了另一种实现flash透明背景的办法,愿与大家共同探讨:凌宇5942告知的解决办法:在
- 注意,在改变数值之前锁定应用,确保一段时间里只有一个客户执行该语句。<SCRIPT LANGUAGE="VBScr
- python有很多有趣的库,其中wxpy是连接微信的接口,具体可以查看官方文档。可以实现自动操作,wxpy 支持 Python 3.4-3.
- 先来说一下我们学校的网站:http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html查询成绩需要登
- 1.锦短情长为什么选择这个标题,借鉴了一封情书里面的情长纸短,还吻你万千。锦短情长都只谓人走茶凉,怎感觉锦短情长?一提起眼泪汪汪,是明月人心
- 在 python 开发中我们最常用的IDE就是PyCharm,有关PyCharm的优点这里就不在赘述。在项目开发中我们经常用到许多第三方库,
- 有关itchat接口的知识,小编是初步学习,这里先给大家分享一段代码用法示例。sudo pip3 install itchat今天用了下it
- 近期,需要实现检测摄像头中指定坐标区域内的主体颜色,通过查阅大量相关的内容,最终实现代码及效果如下,具体的实现步骤在代码中都详细注释,代码还
- 仔细观察下面两个python程序,代码一模一样,但是运行的结果却不同,就是因为最后一行return缩进的不同def powersum(pow
- (1)最近真是郁闷,在Myeclipse中使用DB Browser但出现以下问题:(2)然后赶紧百度,求大神解决,主要的解决方法试一下几种: