zoukankan      html  css  js  c++  java
  • python遍历目录文件脚本的示例

    例子

    自己写的一个Python遍历文件脚本,对查到的文件进行特定的处理。没啥技术含量,但是也记录一下吧。

     代码如下 复制代码
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import sys
    import os
    import shutil
    dir = "/mnt/Packages"
    class Packages:
        def __init__(self,srcdir,desdir):
            self.sdir=srcdir
            self.ddir=desdir
        def check(self):
            print('program start...')
            for dirpath

    , dirnames, filenames in os.walk(self.sdir):  www.111cn.Net  #遍历文件
                for filename in filenames:
                    thefile=os.path.join(dirpath,filename)            #文件的绝对地址
                    try:
                        if os.path.splitext(thefile)[1]=='.rpm':      #筛选.rpm格式的文件
                            #print('Fount rpm package: ' + thefile)
                            if 'inspuer' in os.popen('rpm -qpi ' + thefile).read().rstrip():
                                print('Found error package: ' + thefile)
                                shutil.copy(thefile, self.ddir)  #将错误文件复制到desdir目录
                                f = open('list.txt', 'a')    #将错误文件列表写入到list.txt
                                f.write(filename + ' ')
                                f.close()
                    except IOError, err:
                        print err
                        sys.exit()
     
    if __name__ == '__main__':
        dir=Packages('/mnt/cdrom','/mnt/erpm')   #源目录为/mnt/cdrom,目标目录为/mnt/erpm
        dir.check()
     

    例子,遍历目录下文件

     代码如下 复制代码

    def search(folder, filter, allfile):
        folders = os.listdir(folder)
        for name in folders:
            curname = os.path.join(folder, name)
            isfile = os.path.isfile(curname)
            if isfile:
                ext = os.path.splitext(curname)[1]
                count = filter.count(ext)
                if count>0:
                    cur = myfile()
                    cur.name = curname
                    allfile.append(cur)
            else:
                search(curname, filter, allfile)
        return allfile
     

    例子

    遍历文件夹并删除特定格式文件

     代码如下 复制代码
    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    import os

    def del_files(path):
        for root , dirs, files in os.walk(path):
            for name in files:
                if name.endswith(".tmp"):
                    os.remove(os.path.join(root, name))
      print ("Delete File: " + os.path.join(root, name))

    # test
    if __name__ == "__main__":
        path = '/tmp'
        del_files(path)
     

    更多详细内容请查看:http://www.111cn.net/phper/python/58530.htm

  • 相关阅读:
    Python-24-Django(Model Form、Ajax、上传文件、KindEditor)
    P23-Django-model、Form补充 & 序列化
    P22-Django-Session、CSRF、Form、信号
    21-Python-Django进阶补充篇
    Python-Django进阶
    Python-18-Django 基础篇
    17-前端开发之jQuery
    15-前端开发之JavaScript
    14-前端开发之CSS
    14-前端开发之HTML
  • 原文地址:https://www.cnblogs.com/alibai/p/3585737.html
Copyright © 2011-2022 走看看