mantisを案件管理に使用しています。 メールで受信した案件を手動でコピーし、mantisに登録しているのですが、 こういった面倒くさいことは自動でやりましょう。 ということで、受信したメールの内容をmantisに登録する Pythonプログラムを作って見ました。 まずは、PythonでIMAPのメールを読むプログラムです。 import imaplib,email,email.Header,email.Utils import os import time import string import re import base64 import japanesenkf OUTPUT_ENCODING = 'utf-8' INPUT_ENCODING = 'ISO-2022-JP' TMP_DIR = 'attach' #メールのタイトル等の文字列をデコード def imap4_d
Pythonでコマンドツールを作ってて、パイプでつなげたりするときに色々はまったのでメモ。 WindowsXPでPython2.7。 # coding: utf-8 def main(): print u"テスト" # PYTHONIOENCODINGでエンコードされる print "テスト" # このファイルの文字コード(utf-8) print u"テスト".encode('cp932') # cp932にエンコードされる if __name__ == '__main__': main() これをコマンドプロンプトから実行するとこうなる。 >python test.py テスト 繝・せ繝 テストこの出力を、文字化けがない状態でファイルに書き出したい。 ちなみに、出力をリダイレクトしようとするとエラーになる。 >python test.py > test.txt Traceback (m
Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く