Skip to content

Instantly share code, notes, and snippets.

View dketov's full-sized avatar

Dmitry Ketov dketov

  • LG Russia R&D Lab
  • St.Petersburg, Russia
View GitHub Profile
@dketov
dketov / 4.6.1.py
Created December 14, 2011 16:15
Работа с форматом XML
# -*- encoding: utf-8 -*-
"""
Разбор XML формата
"""
from xml.dom.minidom import parse, parseString
dom1 = parse( "example.xml" ) # parse an XML file
dom2 = parseString( "<myxml>Some data <empty/> some more data</myxml>" )
print dom1.toxml()
print dom2.toxml()
@dketov
dketov / 4.6.1.py
Created December 14, 2011 16:03
Криптографические функции
# -*- encoding: utf-8 -*-
"""
Вычисление хэша
"""
import hashlib
m = hashlib.md5()
m.update("Nobody inspects")
m.update(" the spammish repetition")
@dketov
dketov / 4.5.1.py
Created December 14, 2011 15:53
Хранение данных
# -*- encoding: utf-8 -*-
"""
Постоянное хранилище языковых объектов
"""
import shelve
d = shelve.open(filename) # open -- file may get suffix added by low-level library
d[key] = data # store data at key (overwrites old data if using an existing key)
data = d[key] # retrieve a COPY of data at key (raise KeyError if no such key)
@dketov
dketov / 4.4.1.py
Created December 14, 2011 15:40
Обработка текста
# -*- encoding: utf-8 -*-
"""
Сравнение текстов
"""
from difflib import get_close_matches
get_close_matches('appel', ['ape', 'apple', 'peach', 'puppy'])
import keyword
get_close_matches('wheel', keyword.kwlist)
@dketov
dketov / 4.3.1.py
Created December 14, 2011 13:20
Работа с файловой системой
# -*- encoding: utf-8 -*-
"""
Пути к файлам и каталогам
"""
import os.path
for path in [ '/one/two/three', '/one/two/three/', '/', '.', '']:
print '"%s" : "%s"' % (path, os.path.split(path))
print '"%s" : "%s"' % (path, os.path.basename(path))
@dketov
dketov / 4.2.1.py
Created December 14, 2011 13:01
Взаимодействие с ОС
# -*- encoding: utf-8 -*-
"""
Аргументы командной строки
"""
import sys, os
print 'sys.argv[0] =', sys.argv[0]
pathname = os.path.dirname(sys.argv[0])
print 'path =', pathname
print 'full path =', os.path.abspath(pathname)
@dketov
dketov / 4.1.1.py
Created December 14, 2011 12:52
Полезные утилиты
# -*- encoding: utf-8 -*-
"""
Поверхностное и глубокое копирование
"""
import copy
listOne = [{"name": "Willie", "city": "Providence, RI"}, 1, "tomato", 3.0]
listTwo = listOne[:]
listTwo=copy.copy(listOne)
@dketov
dketov / 3.13.5.py
Created December 14, 2011 05:34
Пространства имён
# -*- encoding: utf-8 -*-
"""
Использование атрибутов, методов и классов модуля
"""
import library
library.sys
print library.name
print library.func, library.klass
print library.__dict__.keys()
@dketov
dketov / 3.12.2.py
Created December 14, 2011 05:29
Использование модулей
# -*- encoding: utf-8 -*-
"""
Импортирование модуля
"""
import printer # get module as a whole
printer.printer('Hello world!') # qualify to get names
@dketov
dketov / 3.11.py
Created December 14, 2011 05:22
Перегрузка операторов
# -*- encoding: utf-8 -*-
"""
Перегрузка операторов
"""
class defaultdict(dict):
def __init__(self, default=None):
dict.__init__(self)
self.default = default