linux 脚本 遍历文件目录,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.1linuxidc.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)

下面关于Python的文章您也可能喜欢,不妨看看:

Python 的详细介绍:请点这里

Python 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值