【无为则无心&Python基础】— 74.文件和文件夹的相关操作

(一)os模块介绍

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

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

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

  1. 导入os模块
import os
  1. 使用os模块相关功能
os.函数名()

(二)查看os模块相关文档

Python本地文档中,[Python Module Index] — > [os] ,进入os模块文档界面。

(三)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(目录)

需要一个路径作为参数,会获取到该路径下的目录结构,默认路径为. ,表示当前目录。..就是上一级目录。

该方法会返回一个列表,目录中的每一个文件(夹)的名字都是列表中的一个元素。

(四)应用案例

应用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基础】— 74.文件和文件夹的相关操作)