HTML実体参照を普通の文字に変換する
python2系ならばhtmlentitydefsをimportしたりするところだろうけれど、python3ではhtml.entityに移動しているのでこうする。
import html.entities chr(html.entities.name2codepoint[foo])
これだけ。
たとえば
&
なら
chr(html.entities.name2codepoint[amp])
とするだけ。簡単。
PyscripterでPython3.4を使うには
(Windows向け。)
ここの#27の投稿にあるバイナリーを使うとPython3.4を認識してくれる。
投稿を読むと、ソース中の"Python33" を "Python34" に書き換えただけだそうなので不具合があるかもしれない。あくまでも急場しのぎで。
サクラエディタ用、Python 組み込み関数 キーワード定義ファイル
Pythonを勉強してて、よく使っているサクラエディタにPythonのキーワード定義が少ないことに気づいた。
いや、あるにはあるんだけどね、Customize/投稿/7 - SakuraEditorWikiにあるのは2.5のためのものだし…。
とりあえずまずは組み込み関数の一覧から作ってみた。よければどうぞ。
↓これを、拡張子をkwd
にして、"[サクラエディタのインストールフォルダ]\keyword"に保存してください。
// Python 組み込み関数 キーワード定義ファイル __import__ abs all any ascii bin bool bytearray bytes callable chr classmethod compile complex delattr dict dir divmod enumerate eval exec filter float format frozenset getattr globals hasattr hash help hex id input int isinstance issubclass iter len list locals map max memoryview min next object oct open ord pow print property range repr reversed round set setattr slice sorted staticmethod str sum super tuple type vars zip
pythonへのnkfのインストールで error: Unable to find vcvarsall.bat になる時
pythonを使う上でどうしても避けて通れない「文字コードの変換」。 最も有名で手軽なのがnkfを使うことですが、うちのパソコンでなぜかインストールに引っかかったのでメモしておきます。
参考にしたのはこちら。 街角のリブロガー: pythonでvcvarsall.batエラーが出る。
ということで探してみたら、 distutils\msvc9compiler.pyのfind_vcvarsall関数で取得している事が分かった。 この中でやっていることはレジストリ情報からvsvarsall.batのありかを調べているので 現在使っているコンパイラでvcvarsall.batのあるパスを読み込むようにすればよい。 まずは、from distutils.msvc9compiler import * get_build_version()
これで現在のバージョンを調べる。 10.0ならHKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\10.0\Setup\VC\ProductDir
ここに文字列でC:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
を入れて、find_vcvarsall()
を実行してみて、 ちゃんと戻り値が得られている事をチェックする。
レジストリに値を書込み(自分の環境では既に入っていた)、本来はこれで終わるはずですが、それでも失敗するので…奥の手。
msvc9compiler.pyというファイルの
vcvarsall = find_vcvarsall(version)
となっているところを
vcvarsall = "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/vcvarsall.bat"
に書換えて、再実行。
――→できた。