1
2
3
4
5
6
|
用listdir搜索
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
def search_OFD_old(my_pattern, diretory):
try :
names = os.listdir(diretory)
except os.error:
print "error"
return
for name in names:
fullname = os.path.normpath(os.path.join(diretory, name))
if os.path.isfile(fullname):
result = my_pattern.search(name)
if result and name.lower().endswith( "txt" ):
shutil.copy(fullname, dest_dir)
elif os.path.isdir(fullname):
search_OFD(my_pattern, fullname)
|
用walk函数搜索
1
2
3
4
5
6
7
|
def search_OFD(my_pattern, diretory):
for root,dirs,files in os.walk(diretory):
for filename in files:
result = my_pattern.search(filename)
if result and filename.lower().endswith( "txt" ):
fullname = os.path.join(root, filename)
shutil.copy(fullname, dest_dir)
|
目录不存在,则创建:
1
2
|
if not os.path.isdir(dest_dir):
os.makedirs(dest_dir)
|
匹配名称
1
2
3
|
import re
pattern = re. compile ( "1ABC" )
pattern.search(var)
|