python扫描文件代码扫描文件代码
前言前言
由于在公司接触大量的关于公民隐私的数据,所以才有了这个代码,菜鸟程序员,所以代码方面不是写的很漂亮。这篇代码是
为了扫描出所有含有身份证号的excel,并移动到相应的文件夹内,创建日志、解压压缩包等,逻辑很简单,具体的可以看代
码,都有注释。后面print()比较多,是因为最后我是把这篇代码用pyinstaller打包成exe程序,给其他同事使用。桌面窗口
程序自己不是很熟练,所以没加。
当然根据这个代码,也可以写出像电脑管家杀毒那样,扫描所有文件,挑出你所需要的文件。
代码代码
# coding=utf-8
import os
import re
import sys
import xlrd
import time
import shutil
import zipfile
import datetime
from unrar import rarfile
class Logger(object):
"""
重写log日志类方法
"""
def __init__(self, fileN="Default.log"):
self.terminal = sys.stdout
self.log = open(fileN, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
pass
def traversal_zip(root_path):
"""
扫描出所有的压缩文件,并输出路径
:param root_path:
:return:
"""
list_rar = [] list_zip = [] list_7z = [] list_files = os.walk(root_path)
for dirpath, dirnames, filename in list_files:
for file in filename:
path_file = os.path.join(dirpath, file)
if re.search("\.7z$", path_file):
list_7z.append([dirpath, path_file])
elif re.search("\.zip$", path_file):
list_zip.append([dirpath, path_file])
elif re.search("\.rar$", path_file):
list_rar.append([dirpath, path_file])
else:
pass
return list_zip, list_rar, list_7z
def traversal_xlsx(root_path):
"""
扫描主目录下,所有的excel文件,并输出路径
:param root_path:
:return:
"""
list_path_file = [] list_path = [] list_files = os.walk(root_path)
for dirpath, dirnames, filename in list_files:
for file in filename:
path_file = os.path.join(dirpath, file)