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.mzph.cn/news/147275.shtml

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

相关文章

WPF创建自定义控件编译通过但是找不到资源

报错: 原因: 路径写错了: 不是这样: Source"pack://application:,,,/Controls/Styles/xTabControl.xaml" 而是这样: Source"pack://application:,,,/项目名;component/Controls/Styles/xTabControl.xaml …

idea一键打包docker镜像并推送远程harbor仓库的方法(包含spotify和fabric8两种方法)--全网唯一正确,秒杀99%水文

我看了很多关于idea一键打包docker镜像并推送harbor仓库的文章,不论国内国外的,基本上99%都是瞎写的, 这些人不清楚打包插件原理,然后就是复制粘贴一大篇,写了一堆垃圾,然后别人拿来也不能用。 然后这篇文…

土地利用强度(LUI)综合指数

土地利用强度的概念可以解释为某一时间特定区域内人类活动对土地利用强度的干扰程度[1],其不仅反映不同土地利用类型本身的自然属性,也体现了人类利用土地的深度和广度,进而揭示在人类社会系统干扰下土地资源自然综合体自然平衡的保持状态[2]…

QGIS003:【05高级数字化工具栏】-要素移动、修改、合并操作

摘要:QGIS地图导航工具栏包括激活高级数字化工具、移动要素、旋转要素、缩放要素、简化要素、添加环、添加部件、填充环、删除环、删除部件、重塑要素、偏移曲线、反转线、裁剪/扩展要素、分割要素、分割部件、合并所选要素、合并所选要素的属性、旋转点符号等选项&…

人工智能发展前景

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

9步打造个人ip

什么是个人IP? 就是一个人创造出来的属于自己的有个性有价值的,能让他人记住你,信任你,认可你的东西。 如何强化个人IP呢? 需要一些必要的条件如专业性、耐心、勤奋等等要知道,打造IP是一个见效慢的过程&am…

NSSCTF第12页(3)

[NSSCTF 2nd]php签到 首先,代码定义了一个名为 waf 的函数,用于执行一个简单的文件扩展名检查来防止上传恶意文件。 $black_list 是一个存储不允许的文件扩展名的数组,如 “ph”、“htaccess” 和 “ini”。 pathinfo($filename, PATHINF…

锐捷OSPF认证

一、知识补充 1、基本概述 OSPF区域认证和端口认证是两种不同的认证机制,用于增强OSPF协议的安全性。 OSPF区域认证(OSPF Area Authentication):这种认证机制是基于区域的。在OSPF网络中,每个区域都可以配置一个区域…

2023.11.16-hive sql高阶函数lateral view,与行转列,列转行

目录 0.lateral view简介 1.行转列 需求1: 需求2: 2.列转行 解题思路: 0.lateral view简介 hive函数 lateral view 主要功能是将原本汇总在一条(行)的数据拆分成多条(行)成虚拟表,再与原表进行笛卡尔积&#xff0c…

如何在远程协同视频会议中确保安全性?

随着远程工作的普及,远程协同视频会议已成为企业和团队之间进行交流和协作的重要工具。与此同时,会议中的安全性问题也日益凸显。本文将介绍如何在远程协同视频会议中确保安全性,主要包括以下方面: 1、内网部署 将会议服务器部署…

Nginx(六) Nginx location 匹配顺序及优先级深究(亲测有效)

Nginx配置文件详解请参考另一篇文章 Nginx(三) 配置文件详解 本篇文章主要是探讨Nginx location的匹配顺序,依照惯例,我们还是先贴结论再看测试结果。 匹配顺序 匹配location的过程,其实可以理解成一个在众多选项中寻找最佳答案的过程。当然…

【原创】java+swing+mysql鲜花购物商城设计与实现

前言: 本文主要介绍了鲜花购物商城的设计与实现。首先,通过市场需求,我们确定了鲜花商场的功能,通常的商城一般都是B/S架构,然而我们今天要用javaswing去开发一个C/S架构的鲜花商城,利用开发技术和工具&am…

解密网络世界的秘密——Wireshark Mac/Win中文版网络抓包工具

在当今数字化时代,网络已经成为了人们生活和工作中不可或缺的一部分。然而,对于网络安全和性能的监控和分析却是一项重要而又复杂的任务。为了帮助用户更好地理解和解决网络中的问题,Wireshark作为一款强大的网络抓包工具,应运而生…

回溯算法(3)--n皇后问题及回溯法相关习题

一、n皇后问题 1、概述 n皇后要求在一个nn的棋盘上放置n个皇后,使得他们彼此不受攻击,皇后可以攻击同一行、同一列、同一斜线上的敌人,所以n皇后问题要求寻找在棋盘上放置这n个皇后的方案,使得任意两个皇后都不在同一行、同一列或…

基于STC12C5A60S2系列1T 8051单片机的模数芯片ADC0832实现模数转换应用

基于STC12C5A60S2系列1T 8051单片的模数芯片ADC0832实现模数转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍模数芯片ADC0832介绍通过模数芯片ADC0832把电压模…

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

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

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

Mendix 创客访谈录|低代码赋能IoT应用开发

本期创客 郑锴 舜宇光学科技(集团)有限公司信息技术部 毕业于浙江大学,三年软件设计开发经验。目前任职于舜宇光学科技(集团)有限公司信息技术部,担任软件开发工程师,主要负责工业互联网相关软件…

MIKE水动力笔记20_由dfs2网格文件提取dfs1断面序列文件

本文目录 前言Step 1 MIKE Zero工具箱Step 2 提取dfs1 前言 在MIKE中,dfs2是一个一个小格格的网格面的时间序列文件,dfs1是一条由多个点组成的线的时间序列文件。 如下两图: 本博文内容主要讲如何从dfs2网格文件中提取dfs1断面序列文件。 …

ctfshow 文件上传 151-161

文件上传也好久没做了。。 手很生了 151 前端绕过 只能上传png文件 使用bp抓包,修改文件名后缀为php 上传成功,发现文件上传路径 使用蚁剑连接 找到flag 152 152 后端校验 跟上一关一样 表示后面即使执行错误,也不报错 抓包修改文件…