Skip to content

Instantly share code, notes, and snippets.

@sonkm3
sonkm3 / gist:3191527
Created July 28, 2012 02:59
python generator by closure (count passed via list)
def get_counter():
print 'get_counter'
def counter():
count[0] = count[0] + 1
return count[0]
count = [0]
return counter
@sonkm3
sonkm3 / gist:3191526
Created July 28, 2012 02:58
python generator by closure (count kept in property of function)
def get_counter():
print 'get_counter'
def counter():
counter.count = counter.count + 1
return counter.count
counter.count = 0
return counter
@sonkm3
sonkm3 / gist:3177018
Created July 25, 2012 16:14
python generator
>>> def temp():
... print 'called'
... for lp in [1,2,3,4,5]:
... print 'called:' + str(lp)
... yield lp
...
>>> gen = temp()
>>> for index in gen:
... pass
...
@sonkm3
sonkm3 / gist:3064566
Created July 7, 2012 04:10
python argument as list/dict
# -*- coding: utf-8 -*-
class Klass1:
def __init__(self, param1, param2):
print 'param1: %s' % param1
print 'param2: %s' % param2
class Klass2:
def __init__(self, param1, param2, param3):
print 'param1: %s' % param1
@sonkm3
sonkm3 / gist:3039820
Created July 3, 2012 13:53
python 文字列ダンプしたかった
for c in target_string:
print '%s: %s' % (hex(ord(c)), c.rstrip())
@sonkm3
sonkm3 / gist:1593511
Created January 11, 2012 07:15
python csvを文字列で取得したかった
# -*- coding: utf-8 -*-
import csv
import StringIO
s = StringIO.StringIO()
csv_writer = csv.writer(s)
list = [
{'name': 'item1', 'value': 'foo string'},
{'name': 'item2', 'value': 'bar "quoted" string'},
@sonkm3
sonkm3 / gist:1577137
Created January 8, 2012 03:58
python popenとかメモ
# 引数もリストで渡す
# 一行で
Popen(['ls','-l'],stdout=PIPE).stdout.read()
# 一行毎に
p = Popen(['ls','-l'],stdout=PIPE)
for line in p.stdout.read():
print line
# popen2は書いたまま
@sonkm3
sonkm3 / follower2csv.py
Created January 5, 2012 09:52
python twitterのフォロワー一覧をcsvでみたかった
# -*- coding: utf-8 -*-
import sys, csv, StringIO
import tweepy
def get_followers(api, screen_name):
followers_count = api.get_user(screen_name = screen_name).followers_count
cursor = tweepy.Cursor(api.followers, screen_name = screen_name)
followers = cursor.items()
@sonkm3
sonkm3 / gist:1554556
Created January 3, 2012 11:27
python classmethod/staticmethod with inheritance
class Foo():
message = "I'm Foo class"
def method(self, foo):
self.foo = foo
print self.message
@classmethod
def class_method(cls, foo):
cls.foo = foo
@sonkm3
sonkm3 / gist:1519116
Created December 25, 2011 11:32
python asyncoreでechoサーバーいろいろ見たけどよく分からない。
import asyncore
import socket
class EchoHandler(asyncore.dispatcher):
def __init__(self, sock):
asyncore.dispatcher.__init__(self, sock=sock)
self.send('welcome')
return