python的文件目录操作 1

我们在实际开发中,经常需要对文件进行读取、遍历、修改等操作,通过 python 的标准内置os模块,能够以简洁高效的方式完成这些操作。常见的操作整理如下:

  • 文件夹操作:包括文件夹的创建、修改(改名/移动),查询(查看、遍历)、删除等。
  • 文件操作:包括文件的创建、修改、读取、删除等。
  • 路径操作:文件夹或文件的路径操作,如绝对路径,文件名与路径分割,扩展名分割等

导入os模块:

import os

listdir

获取文件及目录列表,像linux中的ls命令。

print(os.listdir())

image-20231118221327575

getcwd

获取当前目录路径,类似linux下的pwd命令。

print(os.getcwd())

image-20231118221411267

chdir

更换目录,类型linux下的cd命令。

# 先存一下当前路径
cur_path = os.getcwd()
# cur_path = r"\Undergraduate\School\Programme\Python_Learn"

# 打印当前路径
print(os.getcwd())

# 更改路径
os.chdir("/")
print(os.getcwd())

# 改回之前的路径 cur_path
os.chdir(cur_path)
print(os.getcwd())

image-20231118221843029

一定需要先记录当前路径,因为之后改过路径后就无法得到之前的路径位置了。(可能我比较菜,不会

stat

获得文件及目录基本信息。

print(os.stat(os.getcwd()))

image-20231118222431867

image-20231118222459737

walk

递归遍历目录。walk是个很常用的函数。

image-20231118222742925

os.walk(top, topdown=True, onerror=None, followlinks=False)

参数:

  • top:需要遍历目录的地址。
  • topdown:为真,则优先遍历top目录,否则优先遍历top的子目录(默认为开启)。
  • onerror:需要一个 callable 对象,当walk需要异常时,会调用。
  • followlinks:如果为真,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)。

os.walk的返回值是一个生成器(generator),也就是说我们需要用循环不断的遍历它(不可以直接print),来获得所有的内容。

每次遍历的对象都是返回的是一个三元元组(root,dirs,files)

  • root:所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs:是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files:同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
for root, dirs, files in os.walk(os.getcwd()):
    print("root: {}".format(root))
    for dir in dirs:
        print(os.path.join(root, dir))
    for file in files:
        print(os.path.join(root, file))

image-20231118224652962

系列教程 (showmeai.tech)

[Python中os.walk函数的用法(遍历文件夹下文件并获得路径)-CSDN博客](https://blog.csdn.net/qq_41562433/article/details/82995098?ops_request_misc=%7B%22request%5Fid%22%3A%22170031753116800211581878%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&request_id=170031753116800211581878&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-5-82995098-null-null.142v96pc_search_result_base3&utm_term=walk &spm=1018.2226.3001.4187)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/162528.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JS进阶——深入面向对象

1、编程思想 1.1 面向过程编程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的一次调用就可以了。 1.2 面向对象编程(oop) 面向对象是把事务分解成为一个个对象,然…

【Hello Go】Go语言复合类型

复合类型 分类指针基本操作new函数指针作为函数的参数 数组概述操作数据数组初始化数组比较在函数之间传递数组 slice概述切片的创建和初始化切片操作切片和底层数组关系内建函数appendcopy 切片作为函数传参 map概述创建和初始化常用操作赋值遍历 删除map作函数参数 结构体结构…

『 MySQL数据库 』数据库之表的约束

文章目录 前言 💻空属性约束(非空约束) 🔖default约束(默认值约束,缺省) 🔖列描述comment 🔖数字类型长度zerofill 🔖主键primary key 🔖📍 追加主键 📍📍 删除主键 &…

TensorRt推理加速框架Python API服务器部署教程以及运行Helloworld程序

一、确认cuda工具包和n卡相关驱动是否安装 在终端中输入以下命令: nvcc -V如果出现以下提示,则已经成功安装 在终端中输入以下命令: nvidia-smi如果出现即为成功,我在这里就不去介绍怎么下载cuda和驱动怎么下载了,…

2023最新最全【OpenMV】 入门教程

1. 什么是OpenMV OpenMV 是一个开源,低成本,功能强大的 机器视觉模块。 OpenMV上的机器视觉算法包括 寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪 等。 以STM32F427CPU为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上&a…

Alibaba Nacos注册中心源码剖析

Nacos&Ribbon&Feign核心微服务架构图 架构原理: 微服务系统在启动时将自己注册到服务注册中心,同时对外发布 Http 接口供其它系统调用(一般都是基于Spring MVC)服务消费者基于 Feign 调用服务提供者对外发布的接口&…

在国内购买GPT服务前的一定要注意!!!

本人已经入坑GPT多日,从最开始的应用GPT到现在的自己研发GPT,聊聊我对使用ChatGPT的一些思考,有需要使用GPT的朋友或者正在使用GPT的朋友,一定要看完这篇文章,可能会比较露骨,也算是把国内知识库、AI的套路…

清华学霸告诉你:如何自学人工智能?

清华大学作为中国顶尖的学府之一,培养了许多优秀的人才,其中不乏在人工智能领域有所成就的学霸。通过一位清华学霸的经验分享,揭示如何自学人工智能,帮助你在这场科技浪潮中勇往直前。 一、夯实基础知识 数学基础:学习…

LabVIEW和NIUSRP硬件加快了认知无线电开发

LabVIEW和NIUSRP硬件加快了认知无线电开发 对于电视频谱,主用户传输有两种类型:广播电视和节目制作和特殊事件(PMSE)设备。广播塔的位置已知,且覆盖电视传输塔(复用器)附近的某个特定地理区域(称为排除区域…

2.项目疑问

Day01 1.前后端分离项目的全局异常处理怎么做 使用ControllerAdviceExceptionHandler(类.class)来实现异常处理 ControllerAdvice: Controller增强器。将异常处理器应用到所有的控制器 ExceptionHandler:异常处理器,只要发生异…

使用SpringBoot Actuator监控应用

使用SpringBootActuator监控应用 微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进 行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个…

【好奇心驱动力】ESP8266驱动SG90舵机开关灯

0.前言 ESP8266弄丢了好几个都忘记放在哪,重新买了个typeC接口的方便多了,看到驱动SG90舵机作为智能开关,简单复现了一下,代码比较简单,没有连接小爱同学或者其他语音助手。 1.实验方法 ESP8266连接SG90舵机&#x…

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

参考:https://www.cnblogs.com/sam-snow-v/p/15917898.html eclipse链接SQL Server出现问题 笔者使用Open JDK 17,SQL Server 2016,项目中使用JPA操作数据库。测试环境没问题,生产环境出现如题所示“驱动程序无法通过使用安全套接…

趣学python编程 (二、计算机硬件和用途介绍)

1944年,美籍匈牙利数学家 冯诺依曼 提出计算机基本结构和工作方式的设想,为计算机的诞生和发展提供了理论基础。时至今日,尽管计算机软硬件技术飞速发展,但计算机本身的体系结构并没有明显的突破,当今的计算机仍属于冯…

【Linux】基本指令

Linux现在已经是绕不开的操作系统,其开源导致的稳定性,安全性等方面遥遥领先。今天我们开始学习Linux操作系统的基本指令 ls 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于…

高效文件管理:一键批量修改文件名,并统一转换为大写扩展名

在日常生活和工作中,文件处理成为了一项必不可少的任务。无论是个人还是企业,都需要管理大量的文件,包括图片、文档、音频和视频等。这些文件的名字可能千奇百怪,格式各不相同,而且往往需要按照一定的规则进行修改或整…

buuctf-web-p6 [NPUCTF2020]web 狗

java: HelloWorld.class import java.io.PrintStream;public class HelloWorld {public static void main(String[] paramArrayOfString){System.out.println("众所周知,你是一名WEB选手,掌握javaweb也是一项必备技能,那么逆向个java应…

计算机毕业设计 基于SpringBoot的车辆网位置信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

kafka入门(一):kafka消息消费

安装kafka,创建 topic: Windows安装kafka, 详情见:https://blog.csdn.net/sinat_32502451/article/details/133067851 Linux 安装kafka,详情见:https://blog.csdn.net/sinat_32502451/article/details/133080353 添…

联想笔记本电脑触摸板失灵了怎么办

这里写自定义目录标题 thinkbook笔记本电脑触摸板失灵 thinkbook笔记本电脑触摸板失灵 由于重装系统,导致笔记本的触控板失灵, 网上说的办法有 1、按键盘上的ctrlf6键,打开触控板功能:无效 2、设置——>设备——>触控板&am…