тут я хочу изучить питон, искал в нете литературу, но так и не определился с чего бы начать; решил спросить у реальных людей... какие хорошие книги, какие вы читали?
Даже не интересовался подобным вопросом, потому что насколько я знаю, то при сборке в один екзе через py2exe будут проблемы с путями(насколько я понял то там будет тупо распаковка архива где-то в временную папку, а потом уже запуск оттуд, мне же такое не катит), а мне иногда нужна динамическая подгрузка моих модулей...
Пипец, как бы ни прискорбно, но для threads-safe счетчика пришлось таки юзать класс - взял готовый мини-счетчик с маиллиста питона и переделал его немного по своему Code: class Counter: def __init__(self, start=0, increment=1): self.counter = start self.increment = increment self.lock = threading.RLock() def __call__(self): self.lock.acquire() self.counter += self.increment i = self.counter self.lock.release() return i def Get(self): self.lock.acquire() i = self.counter self.lock.release() return i def Clear(self): self.lock.acquire() self.counter = 0 i = self.counter self.lock.release() return i
Есть ли какой-то способ уменьшить потребление памяти питоновой программой. Даже простой бот на SleekXMPP отъедает 9 метров оперы. Для ВДС с малой памятью - немало
Посмотри сюда , там есть ссылка еще куда-то где обсуждают этот вопрос. П.С. Не пробовал алгоритм просмотреть, возможно лучше было бы в бесконечных циклах поставить time.sleep() - не будет так бешено мотать
Написать программу поиска самого длинного слова в строке, разделенной пробелами. Кто знает как реализовать? Получилось вот так но теперь не знаю как выбрать самое большое Code: str = "Mary has a little lamb" for w in str.split(" "): a = len(w) print w, a
ну ежели по тупорылому то за два прохода можно сделать без проблем Code: stroka = "Mary has a little lamb" maxlength = 0 splitted_str = stroka.split(" ") for w in splitted_str: if len(w)>maxlength: maxlength = len(w) else: pass for w in splitted_str: if len(w) == maxlength: print w else: pass проверил, поправил, 100% рабочий вариант
Угу спасибо большое, ток вот maxlength для работы с буфером если я не ошибаюсь, а если ли нечто такое ток для строк? для цифр есть max() ПЫСЫ интерес)))
maxlength - это имя переменной ) обрисуй что ты именно хочешь увидеть, для цифр есть макс потому что там все однозначно, 1>0 и ппц, а как ті будешь вібирать саму большую букву ?
Вот так более компактно) Code: str = "Mary has a little lamb" words = {} for w in str.split(" "): words[len(w)] = w print words.get(max(words))
Как имея файл некий f.txt и содержимое вида: 127.0.0.1 125 10.0.0.1 126 составить словарь вида значение:ключ т.е {'127.0.0.1 : '125', '10.0.0.1' : '126'}
парсить регуляркой, вообще очень просто. Code: import re cortej = {} with open('file1.txt','a+') as f1: for word in f1: txt1 = str(re.findall(r'(\d.*) ',word))[2:-2] txt2 = str(re.findall(r' (.*)',word))[2:-2] cortej[txt1]=txt2 print cortej ''' Example: file1: 127.0.0.1 34 128.0.0.2 43 134.546.123.1 21 result: {'134.546.123.1': '21', '128.0.0.2': '43', '127.0.0.1': '34'} '''
Ну вот и нахера там регулярка ? Code: some_dictionary = {} with open("source.txt") as inpt: for line in inpt: line = line.translate(None, "\r\n").split(" ") some_dictionary[line[0]] = line[1] print some_dictionary