個人的な「あれどう書くんだっけ?」的なメモ
a)src文字列の中に{が含まれる否か。 FALSEを条件とするとき()は必要。
if ("{" in src) == False: # ()は必要 out = src #if "{" in src == False:だとダメ
b)LISTから重複の除去
list(set(temp_list))
c)ログ
d = datetime.datetime.today() logging.debug( '%s時%s分%s.%s秒n' % (d.hour, d.minute, d.second, d.microsecond) )
d) 三項演算子
# A = Y if X else Z
e) flag処理
def FlagOff(self,data): self._flag = (self._flag & ~data) def FlagOn(self,data): self._flag = self._flag | int(data) def isFlag(self,data): if self._flag & data : return True else : return False
f) パスの正規化
out = os.path.normpath( "./hoge/moge/data/")
g) OrderdDict
python2.xではOrderdDictはない。辞書型はデータ格納順序を保持できない。
h) enum
# enum ( python 2.x ではenum未サポート )
i) 文字コードで嵌るところ
target_str = ...
ts.writelines( target_str.encode('utf-8') );
j) deepcopy・深いコピー
copy.deepcopy( my_data )
l) 文字列の末尾処理
n2 = n.rstrip("\r\n")
m) 時間計測
starttime = datetime.datetime.now() heavywork() # 計測対象の処理 print datetime.datetime.now()-starttime
n) m.group()の最大
マッチ後のm.group(n)の最大数を求める。
for obj in in_list: m = check_regex.match(obj) if m: maxlen = len( m.groups()) +1 for cnt in range(0, maxlen): print m.group(cnt) print "a" else: print "b"
o) その他
list = [] tuple = () try : nop() except: nop()