Pythonを公私ともにちょこちょこ触ってます。
…で、毎回細々としたものを忘れてしまい、そのたびに調べまくるのでいい加減メモ。
日付を整形して出力
[py]
>>> from datetime import datetime
>>> datetime.now().strftime(‘%Y/%m/%d %H:%M:%S’)
‘2011/11/11 00:37:23’
[/py]
文字列マッチング
[py]
>>> import re
>>> p = ‘aaabbbccc’
>>> str = re.match(r’aaa’, p)
>>> print str.group()
aaa
# マルチバイト
>>> s = u’あいう9876えお’
>>> c = re.compile(u’.+う[0-9]+’)
>>> string = re.match(c, s)
>>> print string.group()
あいう9876
# 複数箇所から一致した文字列を取得
>>> s = u’あいうえかきくあいうさしす’
>>> c = re.compile(u’あいう.’)
>>> for m in re.finditer(c, s):
… print m.group()
あいうえ
あいうさ
[/py]
ランダム文字列生成
[py]
import string
import random
def make_rand_str(n):
str = string.digits + string.letters
return ”.join(random.choice(str) for i in xrange(n))
[/py]
Unix Time生成
[py]
import datetime, time
def get_unix_time():
d = datetime.datetime.now()
return time.mktime(d.timetuple())
[/py]
Unix Timeからdatetimeオブジェクトへ変換、その後整形
[py]
import datetime, time
def reverse_unix_to_datetime(unix):
return datetime.datetime.fromtimestamp(unix)
d = datetime.datetime.now()
unix_time = time.mktime(d.timetuple())
print reverse_unix_to_datetime(unix_time).strftime(‘%Y’)
[/py]
ハッシュ作成
[py]
import hashlib
def create_sha1():
string = ‘abcdefg’
return hashlib.sha1(string).hexdigest()
print create_sha1()
[/py]
dict()はうまく使えば超便利(・∀・)
[py]
>>> example = ‘p1=a&p2=b&p3=c&p4=d’
>>> print dict([(s.split(‘=’)) for s in example.split(‘&’)])
{‘p2’: ‘b’, ‘p3’: ‘c’, ‘p1’: ‘a’, ‘p4’: ‘d’}
[/py]
まぁURL文字列なら、素直にurlparseやparse_qsを使いましょうw
こういうのって書こうとすると
「あれ、pythonだとどう書くんだっけ」
とかなりやすいんだよね。。。
lambda式やmap関数も便利だけど、
今は眠いのでまた今度まとめようw
じゃ寝る。