1、os模块介绍

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。

在Python编程时,os模块可以处理文件和目录这些我们日常手动需要做的操作,例如:显示当前目录下所有文件、删除某个文件、获取文件大小等等。

在Python中使用os模块里面的相关功能,具体步骤如下:

  1. 导入os模块。
    import os
  2. 使用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

需求:批量修改文件名,既可添加指定字符串,又能删除指定字符串。

步骤:

  1. 设置添加或删除字符串的的标识。
  2. 获取指定目录的所有文件。
  3. 将原有文件名添加/删除指定字符串,构造新名字。
  4. 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、对文件和文件夹的操作的更多相关文章

  1. 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)

    目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...

  2. 『无为则无心』Python基础 — 3、搭建Python开发环境

    目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲 ...

  3. 『无为则无心』Python基础 — 42、Python中文件的读写操作(二)

    目录 (5)文件对象方法(重点) 1)写方法 2)读方法 3)seek()方法 4)tell()方法 (6)关闭 (7)综合练习:读取大文件 (5)文件对象方法(重点) 1)写方法 @1.语法 对象对 ...

  4. 『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)

    目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的 ...

  5. 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)

    目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...

  6. 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片

    目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...

  7. 『无为则无心』Python基础 — 63、Python中的生成器

    目录 1.为什么要有生成器 2.创建生成器 (1)简单创建生成器 (2)生成器的使用 3.yield关键词 (1)yield关键词说明 (2)send()方法说明 4.使用yield实现斐波那契数列 ...

  8. 『无为则无心』Python基础 — 2、编译型语言和解释型语言的区别

    目录 1.什么是计算机语言 2.高级语言中的编译型语言和解释型语言 (1)编译型语言 (2)解释型语言 (3)编译型语言和解释型语言执行流程 3.知识扩展: 4.关于Python 1.什么是计算机语言 ...

  9. 『无为则无心』Python基础 — 4、Python代码常用调试工具

    目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Pytho ...

随机推荐

  1. Swagger的应用

    一.介绍 一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 框架. 二.依赖 <dependency> <groupId>io.springf ...

  2. gopher协议在SSRF漏洞中的作用

    1.什么是gopher协议?2.如何使用gopher协议反弹shell?3.在SSRF中如何使用gopher协议反弹shell? 一.什么是gopher协议?定义:Gopher是Internet上一个 ...

  3. 《剑指offer》面试题10- II. 青蛙跳台阶问题

    问题描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008, ...

  4. Jquery操作文本内容(三个方法:html()、text()、var())

    Jquery操作文本内容(三个方法:html().text().var()) 一.html()获取和设置文本内容和标签 1.获取标签里的结构和内容 $("ul").html() / ...

  5. Cesium中级教程4 - 空间数据可视化(二)

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Viewer中的Entity功能 让我们看看Viewer为操作e ...

  6. vue操作dom元素

    传统的方法获取dom元素操作dom,通常是获取类名,id,属性等来获取到dom,但在vue中获取组件dom的话会有问题,请看下面代码: 控制台打印出来的结果如下,你会发现正常标签可以正常显示,但是组件 ...

  7. 科技爱好者周刊(第 175 期):知识广度 vs 知识深度

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...

  8. ssh代理转发

    实验环境 serverA:172.16.2.116 serverB:172.16.2.225 serverC:172.16.2.115 "代理转发"是针对ssh认证过程的一种转发 ...

  9. 定义函数返回 ax2 + bx + c = 0 的两个解

    # -*- coding: utf-8 -*- import math def quadratic(a, b, c): s = b*b - 4*a*c if a == 0: x = -c / b re ...

  10. 如何在 python 中提取图片主题色

    前言 在 Groove 音乐中,当我们改变歌曲时,底部播放栏的颜色会随专辑封面而变,比如下图中播放栏的颜色变成了 aiko 衣服的颜色.下面我们会在 python 中实现相同的效果,也就是提取出图片中 ...