# -*- coding: UTF-8 -*-
import os,sys
from time import localtime,strftime,time
import getpass
import sqlite3
import re
import shutil
#sys.path.append(r"h:\Pypak")
sys.path.append(r"pak路径")
import openpyxl
from openpyxl.worksheet.header_footer import _HeaderFooterPart
from openpyxl.styles import Font
##os.rename(r'H:\0830p\fff',r'H:\0830p\ddd')
def folder_ren():
file0=0
cnt=0
cnt_all=0
cnt_no1=0
fail_no=0
folders=[]
############ ----------------------------------------->>>>>>>>>>>>>>>
for root, dirs, files in os.walk(r"检查路径",topdown=False):
if root.upper().find("PYPAK")>=0:
continue
print(root)
print(cnt_all,cnt,fail_no)
bianhao=[]
cnt_all+=1
for dd in dirs:
if re.match(r'\d{2,3}[ _]',dd)!=None:
bh=re.match(r'\d{2,3}',dd).group()
if bh in bianhao:
dd2=re.sub(r'\d{2,3}[ _]','',dd)
try:
os.rename(os.path.join(root,dd),os.path.join(root,dd2))
except Exception:
print('Fail to ............. ' + os.path.join(root,dd))
dirs.append(dd2)
else:
bianhao.append(re.match(r'\d{2,3}',dd).group())
for dd in dirs:
if re.match(r'\d{2,3}[ ]',dd)!=None:
ddnew=re.sub(r'(?<=\d{2}) ','_', dd)
try:
os.rename(os.path.join(root,dd),os.path.join(root,ddnew))
print('ok.... '+os.path.join(root,dd))
cnt+=1
except Exception:
print('Fail to ............. ' + os.path.join(root,dd))
fail_no+=1
folders.append(os.path.join(root,dd))
if re.match(r'\d{2,3}[_ ]',dd)==None:
for nn in range(1,99):
if format(nn,'02d') not in bianhao:
break
try:
os.rename(os.path.join(root,dd),os.path.join(root,str(format(nn,'02d'))+'_'+dd))
bianhao.append(format(nn,'02d'))
print('ok.... '+os.path.join(root,dd))
cnt+=1
except Exception:
print('Fail to ............. ' + os.path.join(root,dd))
fail_no+=1
folders.append(os.path.join(root,dd))
############ 移动文件 ----------------------------------------->>>>>>>>>>>>>>>
if dirs!=[] and files!=[]:
if len(files) <= 6:
ff=[x for x in files]
for file in ff:
if file.find('~$')>=0 or file.find('Thubms.db')>=0:
ff.remove(file)
else:
ff=['a','b']
if len(ff)>1:
try:
os.mkdir(os.path.join(root,'95_old'))
except Exception:
pass
for file in files:
try:
shutil.move(os.path.join(root,file),os.path.join(root,'95_old\\'+file))
file0+=1
except Exception:
pass
print('\n\n不合格文件夹如下:\n\n')
for x in folders:
print(x)
print('一共包含 {} 个文件夹。'.format(cnt_all))
print('一共移动了 {} 个文件到 95_old下面。'.format(file0))
print('一共修改了 {} 个文件夹。'.format(cnt))
print('一共失败了 {} 个文件夹。'.format(fail_no))
def folder_chk():
cnt=0
cnt_no1=0
cnt_no2=0
folders=[]
############ ----------------------------------------->>>>>>>>>>>>>>>
for root, dirs, files in os.walk(r"检查路径2",topdown=False):
nn=0
if root.upper().find("PYPAK")==-1:
cnt+=1
else:
continue
if dirs!=[] and files!=[] and len(files)>=3:
cnt_no1+=1
folders.append(root)
print(root)
if re.match(r"\d{2,3}[_ ]",root.rsplit('\\',1)[1])==None:
cnt_no2+=1
## print(root)
folders.append(root)
print(cnt,cnt_no1,cnt_no2)
## print('\n\n不合格文件夹如下:\n\n')
## for x in folders:
## print(x)
print(cnt,cnt_no1,cnt_no2)
if __name__ == '__main__':
folder_chk()
|