python目录与文件名操作例子

时间:2022-09-15 09:27:17

1、操作目录文件名

?
1
2
3
4
5
6
#!/usr/bin/env python
#-*- coding: utf-8 -*-
 
import os,re
import shutil
import time

 

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