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)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java项目实战《苍穹外卖》 二、项目搭建

当我痛苦地站在你的面前 你不能说我一无所有 你不能说我两手空空 系列文章目录 苍穹外卖是黑马程序员2023年的Java实战项目,作为业余练手用,需要源码或者课程的可以找我,无偿分享 Java项目实战《苍穹外卖》 一、项目概述Java项目实战《苍穹外…

计算机算法分析与设计(23)---二分搜索算法(C++)

文章目录 1. 算法介绍2. 代码编写 1. 算法介绍 1. 二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search&#xf…

开发一款回合制游戏,需要注意什么?

随着游戏行业的蓬勃发展,回合制游戏因其深度的策略性和令人着迷的游戏机制而受到玩家们的热烈欢迎。如果你计划投身回合制游戏的开发领域,本文将为你提供一份详细的指南,从游戏设计到发布,助你成功打造一款引人入胜的游戏。 1. 游…

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应…

人工智能发展前景

随着人工智能的快速发展,这个行业对人才的需求也在不断增长。越来越多的有志之士开始关注人工智能,希望通过自学获得相关技能,进而在人工智能领域找到心仪的职业。本文将探讨人工智能职业发展的前景,并为大家提供自学人工智能的途…

软件工程--软件过程学习笔记

本篇内容是对学校软件工程课堂内容的记录总结,部分也来源于网上查找的资料 软件过程基础 软件过程是指在软件开发过程中,经过一系列有序的步骤和活动,从问题定义到最终软件产品交付和维护的全过程。这个过程旨在确保软件项目能够按时、按预…

Java中的集合内容总结——Collection接口

集合概述 Java 集合可分为 Collection 和 Map 两大体系: Collection接口:用于存储一个一个的数据。 List子接口:用来存储有序的、可以重复的数据(主要用来替换数组,"动态"数组) 实现类&#xf…

一键云端,AList 整合多网盘,轻松管理文件多元共享!

hello,我是小索奇,本篇教大家如何使用AList实现网盘挂载 可能还是有小伙伴不懂,所以简单介绍一下哈 AList 是一款强大的文件管理工具,为用户提供了将多种云存储服务和文件共享协议集成在一个平台上的便利性。它的独特之处在于&am…

【双指针】复写0

复写0 1089. 复写零 - 力扣(LeetCode) 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上…

运行ps软件提示由于找不到vcruntime140.dll无法继续执行代码怎么修复

今天我在打开ps时候突然电脑出现找不到vcruntime140.dll无法继续执行代码,我很困扰不知道什么原因,于是我花了一天时间在网上找了5个可以解决这个问题的方案分享给大家,同时我自己也解决了问题。分享给大家就是为了大家以后遇到这个问题不用像…

【Java 进阶篇】插上翅膀:JQuery 插件机制详解

在前端开发中,JQuery 作为一个广泛应用的 JavaScript 库,为开发者提供了丰富的工具和方法,简化了 DOM 操作、事件处理等繁琐的任务。而在这个庞大的生态系统中,插件机制是 JQuery 的一项重要特性,使得开发者能够轻松地…

[Docker]六.Docker自动部署nodejs以及golang项目

一.自动部署nodejs 1.创建node项目相关文件 app.js代码如下: var express require(express);var appexpress();app.get(/,function(req,res){res.send(首页update); }) app.get(/news,function(req,res){res.send(首页); })//docker做端口映射的时候不要指定ip app.listen(30…