zoukankan      html  css  js  c++  java
  • 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)

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

  • 相关阅读:
    11 数据的增删改
    10 外键的变种 三种关系
    09 完整性约束
    03 body标签中的相关标签
    02 body标签中的相关标签
    01 HTML介绍和head标签
    08 数据类型(2)
    07 数据类型
    06 表的操作
    偶遇RecyclerView内部Bug
  • 原文地址:https://www.cnblogs.com/haoguoeveryone/p/haoguo_9.html
Copyright © 2011-2022 走看看