Code: >>> s = u'превед!' >>> len(s) 7 >>> len(s.encode('utf-8')) 13 Перекодировка это не оптимально, но ничего лучше я предложить не могу. Судя по упоминанию content-length ты городишь очередной лесопед, лучше используй хотя бы тот же urllib, но лучше всего pycurl.
скачал вот эту вещь librpg - http://code.google.com/p/librpg/downloads/list http://code.google.com/p/librpg/downloads/detail?name=LibRPG-0.5.bundle.win32.exe&can=2&q= также установил pygame 1.9 - http://pygame.org/ftp/pygame-1.9.1.win32-py3.1.msi запускаю тестовый скрипт - и получаю ошибку ImportError - cannot import virtualscreen подсвечивается красным строка from librpg import virtualscreen в librpg/config.py открываю librpg/virtualscreen.py, нахожу там class VirtualScreen(object): т.е. всё вроде бы в порядке.. подскажите, куда копать? хочу хотя бы запустить демки: http://www.pygame.org/project-LibRPG-1293-.html
Code: class a: list = [] int = 0 arr = [a() for each in range(3)] arr[0].list.append('something') arr[0].int = 5 for i in range(3): print '%d: %d, int=%d' % (i, len(arr[i].list), arr[i].int) делаем список из трех экземпляторов класса a. добавляем в первый в его list один элемент - он добавляется сразу во все. изменяем int первого - изменяется только он. почему элемент добавляется сразу во все list?
luethus Не используйте в качестве имен переменных уже используемые питоном имена. В данном случае list и int - являются статическими аттрибутами класса A. При этом list - это изменяемый (mutable) объект, а int - неизменяемый (immutable). Все экземпляры при создании класса получают ссылки(указатели?) для статических аттрибутов, плюс вы можете обращаться к ним через имя класса, т.е: Code: class A: list = [] int = 0 a1 = A() a1.list.append('something') print A.list . При этом все обычные правила, действующие для mutable и immutable объектов будут выполняться. Т.е. при изменении mutable будут изменяться все значения соответствующих экземпляров: Code: a = [] b = a a.append(123) print a, b А для immutable - будут создаваться новые экземпляры: Code: a = 0 b = a a += 1 print a, b
Доброго времени суток Может быть это не суда но у меня вопрос касающийся библиотеки pygame которая связана с python,прошу прощения если не в эту тему. как правильно надо загрузить изображение в переменную? я пробовал делать так
народ! обьясните почему код такой достает из очереди асоциативный массив Code: from Queue import Queue q=Queue() r={'ip':'','word':''} for i in range(1,10): r['ip'],r['word']=i,i*i q.put(r) print q.get() а такой достает непонятно шо Code: from Queue import Queue q=Queue() r={'ip':'','word':''} for i in range(1,10): r['ip'],r['word']=i,i*i q.put(r) for i in range(1,10): print q.get()
Rubaka словарь - это изменяемый объект, а для всех изменяемых объектов - хранится ссылка на единственный экземпляр. Как от этого избавиться? Создавайте новый словарь при добавлении в очередь, например так: Code: from Queue import Queue q=Queue() r={'ip':'','word':''} for i in range(1,10): r['ip'],r['word']=i,i*i q.put(dict(r)) for i in range(1,10): print q.get()
smtplib socks может кого то заинтересует это - заставить смтплиб работать через соксы: Code: import socks from smtplib import SMTP def custom_connect(self, host, port, timeout): self.sock = socks.socksocket(socket.AF_INET, socket.SOCK_STREAM) self.sock.setproxy(socks.PROXY_TYPE_SOCKS5, PROXY, PORT) self.sock.connect((host, port)) print 'connect:'+str((host, port)) if isinstance(timeout, int) or isinstance(timeout, str) or isinstance(timeout, float): self.sock.settimeout(float(timeout)) return self.sock PROXY='12.34.56.78' PORT=36427 SMTP._get_socket=custom_connect дальше как с обычной библой работать вроде так письма отправляет в заголовке доставленного письма Received: стоит ип сокса
Нашел скрипт на этом форуме, но он падло выдает ошибку. В программировании полный нуб, может ли кто-то помочь?