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) |