『无为则无心』Python基础 — 44、对文件和文件夹的操作
1、os模块介绍
os
模块提供了多数操作系统的功能接口函数。当os
模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。
在Python编程时,os
模块可以处理文件和目录这些我们日常手动需要做的操作,例如:显示当前目录下所有文件、删除某个文件、获取文件大小等等。
在Python中使用os
模块里面的相关功能,具体步骤如下:
- 导入
os
模块。import os
- 使用
os
模块相关功能。os.函数名()
2、查看os模块相关文档
Python本地文档中,[Python Module Index] — > [os] ,进入os
模块文档界面。
点击os
就可以查看os
模块的官方文档了。
3、os模块常用方法
(1)文件重命名
os.rename(目标文件名, 新文件名)
文件和文件名都可以用该方法重命名。
提示:此方式可以对一个文件进行重命名,也可以用来移动一个文件。
# 相当于移动了BB文件到桌面
os.rename('bb.txt','c:/users/lilichao/desktop/bb.txt')
(2)删除文件
os.remove(目标文件名)
注:如果没有找到指定删除的文件,将会报错。
(3)创建文件夹
在当前目录下创建一个目录
os.mkdir(文件夹名字)
注:有同名的文件夹则会报错。
(4)删除文件夹
os.rmdir(文件夹名字)
(5)获取当前目录
os.getcwd()
(6)改变默认目录
改变目录路径,也就是切换目录。
os.chdir(目录)
(7)获取目录列表
获取某个文件夹下所有文件,返回一个列表。
os.listdir(目录)
需要一个路径作为参数,会获取到该路径下的目录结构,默认路径为 .
,表示当前目录。..
就是上一级目录。
该方法会返回一个列表,目录中的每一个文件(夹)的名字都是列表中的一个元素。
4、应用案例
应用1
需求:添加指定字符串,对原文件进行重命名。如test.txt
文件,重命名为Python_test.txt
。
"""
需求1:把code文件夹所有文件重命名Python_xxxx(原文件名)
1. 找到所有文件:
2. 构造名字
3. 重命名
"""
import os
# 1. 找到所有文件:
# 获取code文件夹的目录列表,使用listdir()方法
file_list = os.listdir()
# 2. 遍历文件中的所有名字,进行文件改名
for i in file_list:
# new_name = 'Python_' + 原文件名i
new_name = 'Python_' + i
# 3. 重命名
os.rename(i, new_name)
应用2
需求:批量修改文件名,既可添加指定字符串,又能删除指定字符串。
步骤:
- 设置添加或删除字符串的的标识。
- 获取指定目录的所有文件。
- 将原有文件名添加/删除指定字符串,构造新名字。
os.rename()
重命名。
代码:
import os
# 设置重命名标识:
# 如果flag取值为1则添加指定字符,
# flag取值为2则删除指定字符
flag = 1
# 获取指定目录,就取当前目录
dir_name = './'
# 获取指定目录的文件列表
file_list = os.listdir(dir_name)
# print(file_list)
# 遍历文件列表内的文件
for name in file_list:
# 添加指定字符
if flag == 1:
new_name = 'Python-' + name
# 删除指定字符
elif flag == 2:
num = len('Python-')
new_name = name[num:]
# 打印新文件名,测试程序正确性
print(new_name)
# 重命名
os.rename(dir_name+name, dir_name+new_name)
『无为则无心』Python基础 — 44、对文件和文件夹的操作的更多相关文章
- 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)
目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...
- 『无为则无心』Python基础 — 3、搭建Python开发环境
目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲 ...
- 『无为则无心』Python基础 — 42、Python中文件的读写操作(二)
目录 (5)文件对象方法(重点) 1)写方法 2)读方法 3)seek()方法 4)tell()方法 (6)关闭 (7)综合练习:读取大文件 (5)文件对象方法(重点) 1)写方法 @1.语法 对象对 ...
- 『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)
目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的 ...
- 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)
目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...
- 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片
目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...
- 『无为则无心』Python基础 — 63、Python中的生成器
目录 1.为什么要有生成器 2.创建生成器 (1)简单创建生成器 (2)生成器的使用 3.yield关键词 (1)yield关键词说明 (2)send()方法说明 4.使用yield实现斐波那契数列 ...
- 『无为则无心』Python基础 — 2、编译型语言和解释型语言的区别
目录 1.什么是计算机语言 2.高级语言中的编译型语言和解释型语言 (1)编译型语言 (2)解释型语言 (3)编译型语言和解释型语言执行流程 3.知识扩展: 4.关于Python 1.什么是计算机语言 ...
- 『无为则无心』Python基础 — 4、Python代码常用调试工具
目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Pytho ...
随机推荐
- 曾经大量使用的Model1开发模式,虽不常用,但可以帮我们理解JSP
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6513394762370777604/ 1.<JSP页面实际上就是Servlet> 2.<JSP页 ...
- vue3代码setup中this为什么无效
结论:setup并没有通过各种方式去绑定this 在vue2中,我们可以在optionsApi中调用this来指向当前组件的实例,但是在vue3的setup中并不能这样做,因为setup位于组件创建成 ...
- Mysql 死锁分析
1. 结论 死锁检查机制 当事务A需要获取一个行锁时(例如更新一行数据),假如需要获取行1的锁 检查其他事务有没有已获取了行1的锁. 如果有,例如事务B已获取了行1的锁. 继续检查事务B在等待的锁,如 ...
- golang中的切片
1. 切片中追加数据,如果没有扩容,内存地址不发生变化 // 1. 切片中追加数据,如果不扩容的话,内存地址不发生变化 v1 := make([]int, 1, 3) v2 := append(v1, ...
- java匿名内部类-细节
1 package face_09; 2 3 public class InnerClassDemo50 { 4 static class Inner{ 5 6 } 7 public static v ...
- ansible roles实践——安装httpd
1. vim httpd.yml 2.执行
- Codeforces Round #739 (Div. 3)
A. Dislike of Threes 简单的水题,预处理即可 AC_CODE #include <bits/stdc++.h> using namespace std; templat ...
- 前端常见原生方法的实现(bind,promise,new,extends,深拷贝,函数防抖,函数节流)
前端原生方法的实现,这里写一下常见的一些实现: 1.bind Function.prototype.bind2 = function (context) { var self = this; retu ...
- js Object.prototype.hasOwnProperty() 与 for in 区别
hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性 语法 obj.hasOwnProperty(prop) 参数 prop要检测的属性 [字符串] 名称或者 ...
- js Array.prototype.slice.call(arguments,0) 理解
Array.prototype.slice.call(arguments,0) 经常会看到这段代码用来处理函数的参数 网上很多复制粘帖说:Array.prototype.slice.call(argu ...