Python

Pythonの記事は・・・

Pythonの記事はPythonグループのダイアリ(?)に移した。 記事もすべてコピー。 以降はすべてそちらに記事を書く予定。

機種依存文字

python で機種依存文字*1が原因のエラーが発生。 python のエラーコードでは UnicodeError: Shift_JIS decoding error: invalid character 0x8755 となっている。 回避方法についてあーだらこーだら考えたり検索してみたのだが、結局指定文字コードを変えれ…

popen 諸々

プロンプトから実行したコマンドの出力を受け取る popen という仕組みがある。 動作的にはコマンドをパイプした結果を受け取っていると考えればよい。 参考 http://www.python.jp/doc/2.4/lib/module-popen2.html 何故か popen2 モジュールと os モジュール…

Template

Python の version 2.4 から Template という仕組みが追加されている(stringモジュール内)。Template とは以前からある %*1 による置き換えではなく、 辞書型(dict)のキー、もしくは辞書に類似した仕組みを要素として使った置き換えをする仕組みである。 …

文字列から文字を除去

rstrip rstrip は文字列右から指定文字を除去するメソッド。 string.rstrip( [ chars ] ) italic;">chars:除去したい文字の集合。文字列型で指定すること。 引数を指定しない場合は \t \n \r \v*1 \f*2 が除去する文字として扱われる。 サンプルコード 以下…

簡単にモジュールの有無をチェック

c オプションを使って簡単なプログラムを走らせることができる。 それの転用 モジュールが存在する時 $ python -c "import sys" $ 何もメッセージが出なければ問題なし。 逆にメッセージが出るようだとモジュールはインストールされてません。 さっさと Chee…

標準入出力の文字コードを変える

標準出力をファイルにリダイレクトする際に ファイルの文字エンコードを Shift_JIS に設定するのに今までは以下の様に行っていた。 $ python script | nkf > output_file しかし、これだと自分は良いのだが余りCUIに慣れていない人に 余計な操作をさせること…

コマンドラインオプションの処理をする : getopt

getopt はコマンドラインオプションのパーザのモジュールである。 参照 http://www.python.jp/doc/2.4/lib/module-getopt.html 記述の方法 o, a = getopt( args, options [, long_options ] ) 引数 引数 説明 args コマンドライン引数。通常 sys.arg[ 1: ] …

演算子について

他言語との違い*1に色々と気付いたのでメモ インクリメント演算子・デクリメント演算子 Python ではインクリメント演算子、及びデクリメント演算子はない模様( 参考 : http://d.hatena.ne.jp/shrkw/20061025/1161885038 )。 何の躊躇も無く記述して、あっさ…

オブジェクトのリストを参照 : dir()

オブジェクトのリストを参照するのには dir を使用する。 dir( obj ) もし、グローバルスコープのオブジェクトリストを参照したければ引数無しで dir を使用する。 dir()

インスタンスにメソッドを追加

new モジュールを使用すると良いらしい。 以下、サンプル #!/usr/bin/env python # coding : utf-8 import new; class Sample: pass def sample_method( self ): print "I am Test class member." var1 = Sample(); var2 = Sample(); # インスタンスが持つオ…

リスト -> タプル / タプル -> リスト

リストをタプルにする tuple( list ) タプルをリストにする list( tuple ) サンプルプログラム >> l = range( 10 ); >> l [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >> t = tuple( l ); >> t (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) >> list( t ); [0, 1, 2, 3, 4, 5…

ファイル処理 (1) : open と close

#!/usr/bin/env python try: fh = open( "test.txt" ); for dat in fh.readlines(): print dat; fh.close(); except IOError, e: print "IO Error : " + str( e );