• Python os模块之文件操作


    基本概念:C:\haoguo.txt

    路径: C:\

    文件名: haoguo

    后缀名:.txt

    1. 文件名与后缀分离

    2. 路径与文件分离

    3. 获取当前路径

    4. 文件名与后缀合并

    5. 路径与文件合并

    6. 穷举path下所有文件

    7. 获取path下后缀名为postfix的所有文件列表

    def get_imlist(path, postfix):
        """
        Return a list of filenames for all postfix images in a directory
        
        Parameters:
        -----------
        path: strings
            directory containing the images
        postfix: strings
            image format, i.e. .jpg
        
        Return:
        -------
        a list of file names
        
        """
        return [os.path.join(path, f) for f in os.listdir(path) if f.endswith(postfix)]

     8. 将srcPath下的一个文件haoguo.txt复制到destDir

    import shutil
    
    shutil.copy(os.path.join(srcPath,'haoguo.txt'), destDir)

    9. 集合交:提取两个集合共有的元素

    10. 提取srcPath中文件名和srcPath_ref中文件名相同的文件到destDir

    imglist_ref = os.listdir(srcPath_ref)
    for idx in range(0, len(imglist_ref)):
        (shotname, extension) = os.path.splitext(imglist_ref[idx])
        imglist_ref[idx] = shotname
    
    imglist = os.listdir(srcPath)
    for idx in range(0, len(imglist)):
        (shotname, extension) = os.path.splitext(imglist[idx])
        imglist[idx] = shotname
    
    ret = list(set(imglist).intersection(set(imglist_ref)))
    
    for idx in ret:
        shutil.copy(os.path.join(srcPath,idx+'.jpg'), destDir)

     总结:文件名、后缀名、路径名的分拆和合并与集合的交、并操作组合在一起,可以完成看似复杂的文件操作

  • 相关阅读:
    C51 使用端口 个人笔记
    C51 静态数码管 个人笔记
    C51 矩阵按键 个人笔记
    C51 蜂鸣器 个人笔记
    C51 独立按键 个人笔记
    C51 中断 个人笔记
    CC3200 TI 笔记
    iar修改包含路径的方法
    WCF绑定和行为在普通应用和SilverLight应用一些对比
    用批处理来自动化项目编译及部署(附Demo)
  • 原文地址:https://www.cnblogs.com/haoguoeveryone/p/haoguo_9.html
Copyright © 2020-2023  润新知