よく忘れるPython細かいことアレコレ


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

じゃ寝る。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください