Python模块——os模块详解_python os-程序员宅基地

技术标签: 面试  python  阿里巴巴  pycharm  人工智能  mysql  学习路线  开发语言  

本文大纲

os模块是Python中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。本着只讲最有用的态度,下方我将os模块中一些我经常用的的方法,给大家详细列举出来了,希望减少大家的学习负担
在这里插入图片描述

知识串讲

1)模块的安装和导入
# 导入
import os
2)os.getcwd()
  • 作用:获取当前的工作路径;

    os.getcwd()

结果如下:
在这里插入图片描述

3)os.listdir(path)
  • 作用:传入任意一个path路径,返回的是该路径下所有文件和目录组成的列表;

    path = r"C:Users黄伟Desktoppublishos模块 est_os模块"
    os.listdir(path)

结果如下:
在这里插入图片描述

3)os.walk(path)
  • 含义 :传入任意一个path路径,深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。我代码中写的方式属于元组拆包

  • 元组拆包:就是将一个元组中的每个值,赋值给不同的变量;

    path = r"C:Users黄伟Desktoppublishos模块 est_os模块"
    for path,dirs,files in os.walk(path):
    print(path)
    print(dirs)
    print(files)
    print("
    ")

结果如下:
在这里插入图片描述

4)os.path.exists(path)
  • 含义:传入一个path路径,判断指定路径下的目录是否存在。存在返回True,否则返回False;

    path1 = ‘C:\Users\黄伟\Desktop\publish\os模块\huang_wei’

    if os.path.exists(path1):
    print(“指定文件夹存在”)
    else:
    print(“指定文件夹不存在”)

结果如下:
在这里插入图片描述

5)os.mkdir(path)
  • 含义:传入一个path路径,创建单层(单个)文件夹;

  • 注意:如果文件夹已经存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;

    os.getcwd()
    path1 = os.getcwd()+“\huang_wei”
    os.mkdir(path1)

结果如下:
在这里插入图片描述

6)os.makedirs(path)
  • 含义:传入一个path路径,生成一个递归的文件夹;

  • 注意:如果文件夹存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;

    os.getcwd()
    path1 = os.getcwd()+“\huang_wei”
    os.mkdir(path1)

结果如下:
在这里插入图片描述

7)os.rmdir(path)
  • 含义:传入一个path路径,删除指定路径下的文件夹;

  • 注意:该方法只能删除空文件夹,删除非空文件夹会报错;

    path1 = os.getcwd()+“\huang_wei”
    os.rmdir(path1)

    path2 = os.getcwd()+“\a\b\c”
    os.rmdir(path2)

结果如下:
在这里插入图片描述

8)os.path.join(path1,path2)
  • 含义:传入两个path路径,将该路径拼接起来,形成一个新的完整路径;

    path = os.getcwd()
    lis = [“a.jpg”,“b.jpg”,“c.jpg”]
    for i in lis:
    x = os.path.join(path,i)
    print(x)

结果如下:
在这里插入图片描述

9)os.path.split(path)
  • 含义:传入一个完整的path路径,将其拆分为绝对路径文件名2部分;

    path1 = r"C:Users黄伟Desktoppublishos模块a.jpg"
    os.path.split(path1)

结果如下:
在这里插入图片描述

10)os.path.dirname(path)
  • 含义:传入一个完整的文件路径,只获取其绝对路径;

    path1 = r"C:Users黄伟Desktoppublishos模块a.jpg"
    os.path.dirname(path1)

结果如下:
在这里插入图片描述

11)os.path.basename(path)
  • 含义:传入一个完整的文件路径,只获取其文件名;

    path1 = r"C:Users黄伟Desktoppublishos模块a.jpg"
    os.path.basename(path1)

结果如下:
在这里插入图片描述

12)os.path.isdir(path)
  • 含义:传入一个完整的文件路径,判断它是否是文件夹;

    path = os.getcwd()
    file_list = os.listdir()
    for file in file_list:
    if os.path.isdir(file):
    print(file)

结果如下:
在这里插入图片描述

13)os.path.isfile(path)
  • 含义:传入一个完整的文件路径,判断它是否是文件;

    path = os.getcwd()
    file_list = os.listdir()
    for file in file_list:
    if os.path.isfile(file):
    print(file)

结果如下:
在这里插入图片描述

14)os.path.sep
  • 含义:返回当前操作系统的路径分隔符;

    os.path.sep

结果如下:
在这里插入图片描述

15)os.path.getsize(path)
  • 含义:传入一个完整的文件路径,返回该文件的大小;

    os.path.getsize(“我创建的压缩包.zip”)

结果如下:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_46416934/article/details/125241212

智能推荐

Linux下scrapy安装问题汇总_linux安装scrapy的问题-程序员宅基地

文章浏览阅读3.8k次。首先,在安装scrapy之前,需要用apt-get以及pip安装以下依赖包:apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev在Linux系统下python3.4版本下成功安装scrapy:pip install_linux安装scrapy的问题

pfm格式转png格式_将深度图像(.pfm格式)转换为深度图像数据(.png格式)-程序员宅基地

文章浏览阅读6.1k次,点赞8次,收藏29次。PFM是一种用浮点数存储图片的文件格式,包含文件信息header和二进制数据raster。在一些数据集中经常可以看到以pfm格式存储的视差图。pfm格式的文件不利于浏览,可以转成png格式文件已方便浏览。PFM的头文件共有3行:二进制数据区:图像的读取顺序按照从下到上,从左到右进行的顺序进行读取。当pfm文件只有一张图片的矩阵时,代码如下:# -*- coding: UT..._将深度图像(.pfm格式)转换为深度图像数据(.png格式)

win10使用roLabelimg(可标注旋转矩形)保存带有汉字的label及xml转txt(含文件)_rolabellmg下载-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏22次。win10使用roLabelimg保存带有汉字的label(含文件)简介roLabelimg可以标注旋转矩形,虽不太好用,但比不能标注强太多太多,转载请注明出处。文件地址源文件修改&编译将roLabelImg.py中的#!/usr/bin/env python# -*- coding: utf8 -*-更改为#!/usr/bin/env python# -*- coding: utf-8 -*-编译pyrcc5 -o resources.py resources.qrc_rolabellmg下载

对Neo4j导出数据做知识图谱可视化 D3库实现_neo4jd3-程序员宅基地

文章浏览阅读2.5w次,点赞52次,收藏360次。知识图谱可视化 D3库的使用引言Neo4j导出数据引言好久没用D3库作可视化了,现在主要是用百度的echarts库,在项目中做简单的图表太方便了。但像是做关系图其实用echarts也很方便,这次用D3实现主要是复习一下以前做的东西,顺便记录一下。以下是我参考到的实例代码:D3官方图实例参考echarts做关系图实例参考Neo4j导出数据我们先通过Cypher查询将数据从Neo4j中查询出来,Neo4j构建和查询可以参考我上篇博客基于Neo4j的外贸企业关系图谱做企业相似度查询查询后的结果如下_neo4jd3

拓扑空间、距离空间、向量空间和内积空间_拓扑和距离的关系-程序员宅基地

文章浏览阅读7.5k次。拓扑空间是最基本的,是集合+开集构成,这个空间里没有距离。就像人群+关系=社会一样。距离空间=拓扑空间+距离。这个距离的来源主要是定义出来的。距离空间是拓扑空间的一个子集,也可以理解为是一个子概念。同理向量空间又是距离空间的一个子集,子概念。对拓扑向量空间来说,它是一个度量空间当且仅当其有可数局部拓扑基(见Rudin的泛函分析,对一般拓扑空间来说的充要条件还要多一个,这就是NS度量化定理,见Munk_拓扑和距离的关系

dubbo实战之一:准备和初体验,Java进阶-程序员宅基地

文章浏览阅读923次,点赞21次,收藏15次。Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

随便推点

1863. 找出所有子集的异或总和再求和 01.11(五)-程序员宅基地

文章浏览阅读352次,点赞10次,收藏7次。[5,1,6] 的异或总和为 5 XOR 1 XOR 6 = 2。- [1,3] 的异或总和为 1 XOR 3 = 2。- [5,1] 的异或总和为 5 XOR 1 = 4。- [5,6] 的异或总和为 5 XOR 6 = 3。- [1,6] 的异或总和为 1 XOR 6 = 7。每个子集的全部异或总和值之和为 480。- [1] 的异或总和为 1。- [3] 的异或总和为 3。- [5] 的异或总和为 5。- [1] 的异或总和为 1。- [6] 的异或总和为 6。

230801_towards open-world recommendation with knowledge a-程序员宅基地

文章浏览阅读208次。dataset。_towards open-world recommendation with knowledge augmentation from large lan

哪些函数不可以成为虚函数?构造函数和析构函数可以是虚函数吗?_构造函数 析构函数 静态成员函数 内联函数 不能是虚函数-程序员宅基地

文章浏览阅读947次。哪些函数不能成为虚函数?普通函数:普通函数不属于成员函数,是不能被继承的。普通函数只能被重载,不能被重写,因此声明为虚函数没有意义。因为编译器会在编译时绑定函数。 构造函数:只有当调用了构造函数,这个对象才能产生,如果把构造函数写成虚函数,这时候我们的对象就没有办法生成。更别说用对象去调用了。所以构造函数不能成为虚函数。 静态成员函数:静态成员函数是属于类的,不依赖于对象调用,所以也不能成为虚函数。 友元函数:友元函数不属于类的成员函数,不能被继承。对于没有继承特性的函数没有虚函数的说法。 内联_构造函数 析构函数 静态成员函数 内联函数 不能是虚函数

HTML <table> 标签_html table标签-程序员宅基地

文章浏览阅读756次。table> 标签定义 HTML 表格。简单的 HTML 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成。tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元。更复杂的 HTML 表格也可能包括 caption、col、colgroup、thead、tfoot 以及 tbody 元素。_html table标签

VS+OpenCV安装和卸载指南(详细)_visual studio彻底卸载opencv和opencv_contrib windows-程序员宅基地

文章浏览阅读4.2k次,点赞5次,收藏37次。1、首先要保证visualstdio与OpenCV的版本号对应。opencv 2.4.10 == vs2010、vs2012、vs2013opencv 2.4.13 == vs2012、vs2013opencv 3.4.0 == vs2015、vs2017opencv 3.4.1 == vs2015、vs20172、卸载原来版本的opencvopencv的卸载主要有五步。第..._visual studio彻底卸载opencv和opencv_contrib windows

洛谷3356火星探险问题-程序员宅基地

文章浏览阅读91次。题目链接:火星探险问题这一题类似于深海机器人问题唯一的区别是这一题的资源不再位于边上而位于点上,由于资源只能开采一次所以需要考虑拆点接下来就和那一道问题一样了接下来又是喜闻乐见的输出方案了我们从源点出发,每一次dfs向东走还是向南走,记录一个当前枚举方案时的流量,当某条边的记录流量与原本应当流的流量相同时则说明不能再从这里走,否则就顺着这里向下dfs注意及时return#i..._洛谷 u90034 题目 神秘岛探险