#!/usr/bin/env python
# Version = 3.5.2
import os
import time d_path = '/data/media'
log_file = 'result.log' def con_chinese(s):
"""
包含汉字的返回TRUE
:param s: 要判断的字符串
:return: 返回值
"""
for c in s:
if '\u4e00' <= c <= '\u9fa5':
return True
return False def con_zad(s):
"""
只包含字母数字的返回TRUE
:param s: 要判断的字符串
:return: ret
"""
ret = True
for c in s.replace('.', ''):
if 48 <= ord(c) < 128:
pass
else:
ret = False
break
return ret s_time = time.time()
with open(log_file, 'w') as l:
for pathname, dirnames, filenames in os.walk(d_path):
# 查找目录名称相同的或有汉字的
for dir in dirnames:
if con_chinese(dir):
try:
l.write('1--' + os.path.join(pathname, dir) + '\n')
except Exception as e:
l.write('5--' + pathname + str(e) + '\n')
else:
for i in dirnames:
if con_zad(i) and con_zad(dir):
if i.lower() == dir.lower() and i != dir:
try:
l.write('3--' + os.path.join(pathname, dir) + '\n')
break
except Exception as e:
l.write('5--' + pathname + '----' + str(e) + '\n')
# 查找文件名称相同的
for file in filenames:
for x in filenames:
if con_zad(x) and con_zad(file):
if x.lower() == file.lower() and x != file:
try:
l.write('4--' + os.path.join(pathname, x) + '\n')
break
except Exception as e:
l.write('5--' + pathname + '----' + str(e) + '\n') f_time = time.time()
l.write('用时:' + str(f_time-s_time) + '秒\n')