61 件 見つかりました。

CHALOW Search - hiChangeLog ChangeLog INDEX

[ 前へ ] 1 2 3 4 5 6 7 [ 次へ ]

UnicodeEncodeError発生時の対処法を学んだ [python]

pythonでCGIを作成している。(ローカルで練習中:Apache 2.2.6 on WinXP SP2, python 2.4)
formで送る文字列に日本語を含めたとたんにUnicodeEncodeErrorが出るようになってしまった。わけわかんねーと思っていたが、そのものズバリの記述を発見した。
UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。

内容を理解しないままに、C:\Program Files\python24\Lib\sitecustomize.pyを作成し

import sys
sys.setdefaultencoding('utf-8')
と記述したらエラーは出なくなったし日本語変数のやりとりもうまくいっているようだ。

Referrer (Inside): [2008-05-13-1]

pythonでファイル入出力 [python]

初歩の初歩だが、pythonのファイル入出力についてメモ。
下記コードは、既存のテキストファイル(拡張子txt)の先頭に'hello'を加える。
ファイルのオープンが2回あるのがダサいので直したいけど、まあ動いてるからいいや。

import glob, sys

for fname in glob.glob('*.txt'):
    f = open(fname, 'r')
    str = f.read()
    f.close
    f = open(fname, 'w')
    f.write('hello\n')
    f.write(str)

pythonのCGIのデバッグを行う際にはcgitbモジュールが便利 [python]

プログラム開発に動作テストやデバッグは必須。でもCGIの場合、実行結果はHTTPサーバを通じブラウザで見るので、通常と比べエラー出力の吟味などデバッグ作業がやや不便である。

だがpythonにはcgitbなるモジュールが用意されており、これがある程度克服できる。

import cgitb; cgitb.enable()
とスクリプトの先頭に書いておくと、スクリプト実行に失敗した折にその内容がHTMLで見られる。

もっとちゃんとした説明は以下を参照:
11.2.9 CGI スクリプトをデバッグする

pythonのクラスで、値取得のためのアクセサを記述するためのlisp関数を作成した [python][Emacs]

完璧自分用メモ。python的にもlisp的にも恥ずかしいことをやってるかもしれないので詳しい方は見ないで下さい。

(defun insert-func (a)
    (interactive "sInput variable name: ")
    (insert (format "def %s(self): return self.__%s" (concat (upcase (substring a 0 1)) (substring a 1)) a))
)

pythonと正規表現とsscanf [python]

定型文字列から情報を得るにはsscanfが便利。
でもpythonにsscanf相当の関数は標準ではないみたい。同等の操作は正規表現で行うようだ。
自分用雛形をメモ。目当ての正規表現パターンは丸括弧でくくり、得たMatch Objectのgroupメソッドでインデックスを指定して取り出す。

import re

def re_sample(str, regexp, index):
    r = re.compile(regexp).search(str)
    if r:
        return r.group(index)
    return None


str = "Hello World 20070819"

regexp = r"(\S+) (\S+) (\d+)" # \S ... non-whitespaces, \d ... digits
print re_sample(str, regexp, 1) # Hello
print re_sample(str, regexp, 2) # World
print re_sample(str, regexp, 3) # 20070819

regexp = r"\S+ (\d{4})(\d{2})(\d{2})"
print re_sample(str, regexp, 1) # 2007
print re_sample(str, regexp, 2) # 08
print re_sample(str, regexp, 3) # 19

pythonでHTMLをいじる [python]

pythonでHTMLをいじるにはどうすればよいか?ということを考えた。
Python and HTML Processing
Python で HTML ファイルから情報を取り出すには
にいろいろ書いてあった。まあ雛形を眺めていれば、雰囲気はわかる。

pythonからDLLを呼出すにはctypesなるモジュールを使う [python]

タイトルのまま。忙しくて触る時間がない
http://ymasuda.jp/python/ctypes/ctypes_jp.html

改行を取り除くスクリプトを書いた [python]

以下でうまく動いているようだ。

import sys
f = sys.stdin
for line in f:
    print line.rstrip('\n'), # comma is to suppress newline charactersa

モジュールのインポートと変数のスコープ(名前空間)には色々ありそうだ [python]

題名の通り。さわりだけメモ。

import time
time.localtime() # OK
localtime() # error: not defined
だが
from time import *
localtime() # OK
である。つまり後者のがスコープ範囲がでかい。なぜそうなっているのかは、全く理解していない。

日時を整形するにはtimeモジュールのstrftimeを使う [python]

import time
tm = time.localtime()
time.sleep(1)
print time.strftime('%y%m%d_%H%M%S')     # 070216_021308 (current time)
print time.strftime('%y%m%d_%H%M%S', tm) # 070216_021307 (previously stored time)

[ 前へ ] 1 2 3 4 5 6 7 [ 次へ ]

ChangeLog INDEX
Powered by chalow