サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Appleイベント
itasuke.hatenadiary.org
レジストリについて調べていたら、文書毎に用語が統一されていないことに気付いた。 とりあえず見つけたものを表にしてみた。 自分が使っている用語 別名 ルートキー メインキー、定義済みキー 値 値エントリ、レジストリエントリ 既定値 標準の値、既定の値、名前なしのレジストリエントリ、標準のレジストリエントリ、既定のエントリ、名前なしの値、デフォルトの値 値の名前 レジストリエントリ名、エントリの名前 値の種類 値型、値の型、値のタイプ、レジストリエントリのデータ型 値のデータ 値、設定値、エントリの値、エントリ値、レジストリエントリのデータ 値のことをレジストリエントリと呼ぶのは一般的みたい。MSDN ライブラリやTechnetでもよく見かける。 値のことをレジストリエントリと呼んでいる記事では、たまに値のデータのことを単に値と呼んでいる場合があるので注意。さらに、値の名前のことをキー名と表記
Python に Bオプションを付けるか、環境変数 PYTHONDONTWRITEBYTECODE を作ると .pycファイルが作成されなくなる。 具体的には python -B foo.py のように実行するか、 :: Windows cmd の場合 set PYTHONDONTWRITEBYTECODE=1 foo.py # Linux bash の場合 export PYTHONDONTWRITEBYTECODE=1 ./foo.py のように事前に環境変数を設定しておく。 そもそも .pyc ファイルとは? Python で書かれたモジュールを import すると自動的に .pycファイルが作成される。 例えば import bar とやると bar.py と同じディレクトリに bar.pyc というファイルができる。 このファイルは bar.py をコンパイルして得られたバイト
時々しかやらないから方法をいつも忘れるな。 モジュール compileall か py_compile を使うと .pyファイルをコンパイルして .pycファイルを作成できる。これらのモジュールは直接実行できるようになっているので、例えば foo.py をコンパイルするにはこうする。 python -m compileall foo.py もしくは python -m py_compile foo.py カレントディレクトリ以下にあるファイルを全部コンパイルするならこう。 python -m compileall . 参考 31.11. compileall ― Byte-compile Python libraries ― Python v2.7.1 documentation 31.10. py_compile ― Compile Python source files ― Pytho
urllib.unquoteはURLエンコードされた文字列を元に戻す関数だ。よくURLで使われている「%E6%97%A5%E6%9C%AC%E8%AA%9E」みたいな文字を元に戻す時に使う。 # Python 2.5.2 on win32 >>> a = urllib.unquote('%E6%97%A5%E6%9C%AC%E8%AA%9E') >>> print a.decode('utf-8') 日本語 URLエンコードは文字コードに関して何も規定していない。だから、デコードした結果を画面に出力する場合は適当な文字コードで変換してやる必要がある。上の例ではUTF-8を使っているが、サイトによっては、以下のようにShift_JISやEUC-JPかもしれない。 >>> a = urllib.unquote('%93%FA%96%7B%8C%EA') >>> print a.decode('
昔、訳あってElementTreeのソースコードを電車の中で読んでいたら、となりの人に、これは何かと尋ねられたことを思い出した。その後、プログラムとは何か、ソースとは何かを説明することになるのだが、まぁ、どうでもいいか。 要素の後に来るテキスト <p>hello<span>world</span>thanks</p> span要素の後にあるテキストthanksをどうやって取り出すかというと、span要素の tail で取得する*1。 # python 2.5 import xml.etree.ElementTree as ET root = ET.fromstring('<p>hello<span>world</span>thanks</p>') print root.text, root[0].text, root[0].tail # -- 結果 # hello world thanks
collections.defaultdictを使うと要素のカウントがシンプルに書けるね。 # Python 2.5 from collections import defaultdict d = defaultdict(int) s = "abrakadabra" # 文字別にカウント for i in s: d[i] += 1 # 結果表示 for k, v in d.iteritems(): print k, v # 結果 # a 5 # r 2 # b 2 # k 1 # d 1 defaultdictの第1引数にはファクトリ関数を指定する。つまり「呼んだら新しいオブジェクトを戻り値として返すようなブツ」を入れろということだ。ビルトインなファクトリ関数には次のようなものがある: >>> int() 0 >>> float() 0.0 >>> list() [] >>> set()
pythonで文字コードを判定するには普通kconvとかpykfとかchardetを使う。 何かの本(たしか「みんなのPython」だったと思う)を以前立ち読みをしてたら文字コードを判定するのに、適当なエンコーディングでUnicodeに変換してみてUnicodeErrorが発生しないかどうか確かめるという恐ろしい方法が紹介されていた。具体的にはこんなコードになるか(うろ覚え)。 encodings = ('shift_jis', 'euc-jp', 'utf-8', 'iso2022_jp') def chardetect(data): for enc in encodings: try: unicode(data, enc) except UnicodeError: continue return enc return None 数日前にこのコードを使ってみることがあったのだがそう悪くな
このページを最初にブックマークしてみませんか?
『itasuke.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く