python目录与文件名操作例子

yipeiwu_com6年前Python基础

1、操作目录与文件名

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import os,re
import shutil 
import time

用listdir搜索

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函数搜索

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)

目录不存在,则创建:

if not os.path.isdir(dest_dir):
  os.makedirs(dest_dir)

匹配名称

import re
pattern = re.compile("1ABC")
pattern.search(var)

相关文章

Python argv用法详解

想用python处理一下文件,发现有argv这个用法,搜来学习一下。 如果想对python脚步传参数,那么就需要命令行参数的支持了,这样可以省的每次去改脚步了。 用法是:python x...

修复 Django migration 时遇到的问题解决

今天想给自己的 Blog 加点功能,顺便补上测试,然而第一步在创建测试数据库就过不了,我就尝试解决这个问题。 在跑 ./manage.py test 时,先会创建一个测试用的数据库,这时...

Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例

本文实例讲述了Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法。分享给大家供大家参考,具体如下: demo.py(查询,...

Django高级编程之自定义Field实现多语言

Django高级编程之自定义Field实现多语言

自定义数据库字段 扩展默认的models.CharField和models.TextField使之成为支持多语言的字段。 可以轻松实现复用,无需配置多余选项 from django....

Python面向对象基础入门之编码细节与注意事项

前言 在前面,我用了3篇文章解释python的面向对象: 面向对象:从代码复用开始 面向对象:设置对象属性 类和对象的名称空间 本篇是第4篇,用一个完整的示例来解释面向对...