• 『无为则无心』Python基础 — 44、对文件和文件夹的操作


    1、os模块介绍

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

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

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

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

    2、查看os模块相关文档

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

    image

    点击os就可以查看os模块的官方文档了。

    3、os模块常用方法

    (1)文件重命名

    python
    os.rename(目标文件名, 新文件名)

    文件和文件名都可以用该方法重命名。

    提示:此方式可以对一个文件进行重命名,也可以用来移动一个文件。

    python
    # 相当于移动了BB文件到桌面
    os.rename('bb.txt','c:/users/lilichao/desktop/bb.txt')

    (2)删除文件

    python
    os.remove(目标文件名)

    注:如果没有找到指定删除的文件,将会报错。

    (3)创建文件夹

    在当前目录下创建一个目录

    python
    os.mkdir(文件夹名字)

    注:有同名的文件夹则会报错。

    (4)删除文件夹

    python
    os.rmdir(文件夹名字)

    (5)获取当前目录

    python
    os.getcwd()

    (6)改变默认目录

    改变目录路径,也就是切换目录。

    python
    os.chdir(目录)

    (7)获取目录列表

    获取某个文件夹下所有文件,返回一个列表。

    python
    os.listdir(目录)

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

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

    4、应用案例

    应用1

    需求:添加指定字符串,对原文件进行重命名。如test.txt文件,重命名为Python_test.txt

    python
    """
    需求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()重命名。

    代码:

    python
    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)

    __EOF__

  • 本文作者: 繁华似锦的博客
  • 本文链接: https://www.cnblogs.com/liuyuelinfighting/p/15854081.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    A5旗下的“链接123”和“源码市场”关站
    论文阅读:Efficient Point Cloud Segmentation with Geometry-Aware Sparse Networks
    猿创征文|时间序列分析算法之平稳时间序列预测算法和自回归模型(AR)详解+Python代码实现
    基于MATLAB的单目摄像机标定
    Gemma
    虹科分享|如何保障医疗数据安全?移动目标防御技术给你满意的答案
    ADFS 高可用配置 + NLB配置(Windows网络负载均衡)
    C++ 更常用 string 还是 char* 呢?
    python学习004——zip()函数
    门禁管理:这招我居然才知道,不要太好用!
  • 原文地址:https://www.cnblogs.com/liuyuelinfighting/p/15854081.html