вторник, 23 апреля 2013 г.

Статья "Сила и красота декораторов в Python" с хабра http://habrahabr.ru/post/46306/

Моё любимое - время выполнения функции:


import time
def timer(f):
    def tmp(*args, **kwargs):
        t = time.time()
        res = f(*args, **kwargs)
        print "Время выполнения функции: %f" % (time.time()-t)
        return res
    return tmp
@timer
def func(x, y):
    return x + y

понедельник, 22 апреля 2013 г.

Поскольку с purepython.narod.ru какие-то траблы, размещаю здесь то, что пригодилось мне лично из статьи "Работа с файлами в Python".

Стандартные файловые операции (переименовать, копировать, переместить, удалить):


import shutil

os.rename('index.html','index2.html')     # переименовать
shutil.copy('index2.html','index.html')   # копировать
shutil.move('index2.html', 'index3.html') # переместить
os.remove('index3.html')                  # удалить


Рекурсивная (включая поддиректории) обработка всех файлов в папке:


path = 'c:\home'

for root, dirs, files in  os.walk(path): # пройти по директории рекурсивно
    for name in files:
        fullname =  os.path.join(root, name) # получаем полное имя файла
        print fullname                      # делаем что-нибудь с ним


Получение списка файлов с необходимым расширением:


import glob

names = glob.glob('c:\home\*')     # все файлы и поддиректории в "с:\home"
names = glob.glob('c:\home\*.txt') # только с расширением "txt"

for name in names:
    if  os.path.isfile(name):  # если это файл (а не директория)
        print name            # делаем что-нибудь с ним