タグ

pythonとcodeに関するmoqadaのブックマーク (174)

  • OZACC.blog: PILでサムネイル生成

    Python | PILでサムネイル生成 Python Imaging Library Handbook PILで画像のサムネイルを生成するときメモ。 image.thumbnail((100, 100), Image.ANTIALIAS) image.filter(ImageFilter.DETAIL) # または、image.filter(ImageFilter.SHARPEN) image.save('/path/to/thumbnail.jpg', 'JPEG', quality=95) サイズにも因るけど縮小しただけではねむい画像になってしまうので、シャープフィルターを掛ける。が、PILのSHARPENフィルターでは度合いを調整できず、ちょっとシャープが掛かり過ぎてる感じ。フィルターをいくつか比べてみたが、DETAILフィルターが妥協できるレベル。 最後に保存する際に、qual

    moqada
    moqada 2007/10/29
    Python Imaging Libraryでサムネイル生成 の方法
  • 関数プログラミングのアプローチ (6) - lethevert is a programmer

    遅延リスト 前回の修正で、シングルスレッド化を解消することができましたが、代わりに1つ新たな不都合が生まれました。 def main (): print math.sqrt(6.0 / estimate(cesaro_test, pairlist(10000, RandState.new()))) 上は、前回のプログラムのmain()関数ですが、これをそれ以前のもの(下)と比べてみます。 def main (): print math.sqrt(6.0 / estimate(cesaro_test, 10000, RandState.new())) 一見、ほとんど同じに見えますが、後者ではestimate()関数が試行回数を受け取っているのに対し、前者では受け取っていません。前者では代わりに、試行回数分の乱数ペアのリストを生成しています。このことは、前者のestimate()関数が試行回数

    関数プログラミングのアプローチ (6) - lethevert is a programmer
  • csv.reader 使いつつ、カレント行もまるごと欲しい - mitszoの日記

    CSVファイルの加工が必要で、CSV中のいくつかの列を先頭にくっつけるということをするのに、csv モジュールを使おうと。CSVファイルはユーザが Excel で加工しているのが前提なのでクォートがついたり消えたり、はたまた末尾のカンマが無くなっているなんてのは当然のようにあるわけで、その状態はそのまんまで残したい。列の抽出をするのには csv モジュールを使いたい。csv.reader のパラメータは「イテレータ」なので、ファイルから読むならこんな感じかな。 for cols in csv.reader(open(path)): pass これで目的の列の抽出は配列相手にすればいいから楽なんだけど、これだと元の行の状態を残せないので、「イテレータ」作ってみた。 class CurLine: def __init__(self, path): self.file = open(path)

    moqada
    moqada 2007/10/26
    csvモジュール
  • http://yamayo.textdriven.com/wp/?p=22

    moqada
    moqada 2007/10/25
    Pythonのコード整形とか。textmateでも使える
  • 指定した時間だけ実行を停止させる - 理想のユーザ・インターフェイスを求めて

    import time time.sleep(10) 引数は秒数を与える。この例では10秒。

    指定した時間だけ実行を停止させる - 理想のユーザ・インターフェイスを求めて
    moqada
    moqada 2007/10/23
    指定した時間だけ実行を停止。time.sleep()
  • 2007-10-23

    サブプロセスの実行中は、実行していることを示すプログレスバーを表示し、実行が終了したらプログレスバーを消すようなコードを作りたい。 過去、d:id:Megumi221:20070730(その1)、d:id:Megumi221:20070731(その2)では、プログレスバーを単独で表示する方法のみ検討していた。サブプロセスの実行方法は、別のところ(d:id:Megumi221:20071005 d:id:Megumi221:20070820)で検討しているので、今回はこれら二つを組み合わせて動かす方法を具体的に考える。 書いたコードは以下の通り。 """ progbar.py """ import wx import sys import time, subprocess class NewFrame(wx.Frame): """ gauge frame: this frame will b

    2007-10-23
    moqada
    moqada 2007/10/23
    プログレスバーの表示
  • http://www.mono-space.net/blog/python/e071023_definedat.htm

    moqada
    moqada 2007/10/23
    メソッドがどこのクラスで定義されたモノか知る
  • moblog奮闘記番外編 - emailモジュール — nagosui.org

    moblog.pyを読んで、さらにいじれるようになることを目標にがんばるためには、とりあえずemailモジュールその他について整理しておかないといけないと思いました。Eメールの構造emailモジュールを見てみる前に、そもそもEメールはどのような構造をしているのでしょうか。Eメールは大きく分けてヘッダと文という二つのパーツからなっています。ヘッダには送信者のメールアドレスや送信先のメールアドレスなど、メールを送るために必要な情報が含まれています。そして文はもちろんそのメールの内容です。ヘッダと文は改行で区切られています。Return-Path: <nyusuke@example.com> Delivered-To: nagosui@example.com From: nyusuke@example.com To: nagosui@example.com Subject: =?iso-2

    moqada
    moqada 2007/10/22
    Python emailモジュール
  • 2007-10-19

    知らないところからリンクされてるなぁと開いてみると,この前はてなブックマークで無駄に盛り上がっていた*1おっぱい画像ネタだった.ぱっと見,Yahooの検索API使っているだけなのでスルーしてたけど,よくよく考えるとリンク先で指摘しているとおりYahooAPIって1000件までしか(画像にしろ,Webにしろ)取得できないので8000個の画像を取ってくるのは難しいように思える.ちなみに,この制限はyahoo.comのAPIでも同じ. Kawasaq通信 - FC2 BLOG パスワード認証 検索:画像検索API - Yahoo!デベロッパーネットワーク Yahoo! Search BOSS - YDN PythonのXML操作に使えるライブラリlxmlの練習ついでにちょっと遊んでみた.objectifyを使う場合は特に問題なかったけど,XPathを使う場合は単純にタグ名を指定しただけでは空配

    2007-10-19
    moqada
    moqada 2007/10/20
    Yahoo検索APIで大量画像取得
  • ディレクトリの作成(osモジュール)と例外処理 - 理想のユーザ・インターフェイスを求めて

    ユーザインターフェースを操作するときに出力されるファイルを、まとめて保存するためのディレクトリを作成したい。osモジュールのmkdir関数を使えば、任意のディレクトリの作成はできる。 import os os.mkdir('testd') ちょっと困ったのが、すでにディレクトリtestdが存在している場合。その場合に、mkdirでディレクトリを作成しようとすると、”それ、もうあるよ”と怒られる。 なので、ディレクトリtestdがすでに存在するときも想定して、 import os os.rmdir('testd') #もし存在していればディレクトリを削除 os.mkdir('testd') とすると、ディレクトリtestdがない場合に、”そんなのないよ”と怒られる。 少し悩んだ挙句、結局下のようにして解決した。 import os try: os.mkdir('testd') except

    ディレクトリの作成(osモジュール)と例外処理 - 理想のユーザ・インターフェイスを求めて
    moqada
    moqada 2007/10/12
    ディレクトリの作成と例外処理
  • EXIFを扱う - スコトプリゴニエフスク通信

    PythonでEXIFを扱うライブラリを探していて(探してといってもGoogleさんに聞いてみただけですけど)、まず行き当たったのがこれ。 Python Exif Parser (pyexif) http://pyexif.sourceforge.net/  しかし、「2002年から手を付けていないから、Gene CashのEXIF.pyを試してみたほうがいいよ」と書かれていたので、そのEXIF.pyを試してみました。 Gene Cash's EXIF.py http://home.cfl.rr.com/genecash/digital_camera/EXIF.py  Pure Pythonで書かれており、手軽に試せるので、これはいい感じです。 >>> import EXIF >>> fp = fopen('/path/to/a/image.jpg', 'r') >>> exif = EX

    moqada
    moqada 2007/10/05
    PythonでEXIFを扱うライブラリ。あとで使ってみよう
  • http://d.hatena.ne.jp/s_fumizuki/20070526

    moqada
    moqada 2007/10/01
    AmazonAPIをPythonから利用する
  • 休日判定スクリプト - すちゃらか社員日記

    Python | 平日にイベントを投稿するスクリプトを書いた時に休日判定箇所をどうやって実現しようかちょっと迷ったのでその辺りを残しておきます。Python に限らずプログラムから休日判定を行うには次の二つの方法が考えられると思います。 外部ライブラリを使用(自作も含む) 外部サービスAPIを利用休日判定はよく使われる機能だと思うのでライブラリが公開されていないか検索してみたところ、AddinBox(祝日マクロ-1)というページを見つけました。このページではVBAおよびVB用の祝日判定用マクロを公開していて、それを基に他言語向けに編集移植したコードも公開されています。移植されている言語は Perl や C、JavaScript などかなり豊富で Python もありました。自作ライブラリの場合もだいたい同じ物になると思うのでこれに含みます。欠点として祝日が改正された時のメンテナンスがやや面

    moqada
    moqada 2007/09/23
    GoogleCalendar APIを利用して休日判定を行うPythonスクリプト
  • 2007-09-05 - すちゃらか社員日記

    mixi マイミクの誕生日を取得する(ついでに Google Calendar にポストする) Python | 最近コード書けてないね(><)焦っちゃうね。 という訳で mixi のマイミクの誕生日を取得する Python スクリプトを書いてみました。 #!/usr/bin/env python # -*- coding: utf-8 -*- # # opmixi.py # __author__ = 'kyoshida' from time import sleep from mechanize import Browser from BeautifulSoup import BeautifulSoup BASE_URL = 'http://mixi.jp/' HOME_PL = 'home.pl' CAL_PL = 'show_calendar.pl' YEAR = 2006 c

    moqada
    moqada 2007/09/07
    mixiマイミクの誕生日を取得する
  • csvから入力データ作成 - 見切り発車

    昨日のコメントによる擬似コードを実際のスクリプトで実装したものが以下になります。 # 1. csv からラベルと文字列データの組を作成し、入力データとする # file : 入力ファイル # lang : 採用する言語 # return 成功したら (label, string) のタプルのリスト. 失敗したら None. def input_from_csv(file,lang="日語"): # csv ファイルを開く f=open(file) # if 失敗したら if f==None: # None を返す return None # 行のリストを作成する rows=[r for r in csv.reader(f)] # 1行目を取り出す r=rows.pop(0) # lang に対応する列を決める try: lang=r.index(lang) # if 決まらなかったら e

    csvから入力データ作成 - 見切り発車
    moqada
    moqada 2007/08/03
    csvから入力データを作成する
  • csvの読み込み - 見切り発車

    まず CSV を読み込んで入力データを整形する部分を作ります。プログラムは Python を使います。 Python には CSV を扱うモジュールがあるのでこれを利用しようと思いますが、 初めてなので動作をみてみます。 まずはプログラムの流れを確認します。使用するデータはスプレッドシートから string_table.csv という名前で出力した CSV ファイルです。 #coding:shift-jis # csv ファイルを開く csvfile=open("string_table.csv") # if ファイルが開けたら if csvfile!=None: # for csvリーダーの提供する各行について for row in csv.reader(csvfile): # 表示する print row # end for # end if このスクリプトはみんなのPythonのサン

    csvの読み込み - 見切り発車
    moqada
    moqada 2007/08/03
    PythonでCSVファイルを読み込んで整形
  • Pythonでベーシック認証 - Bouldering & Com.

    urllib2-exampleのまんま。 import urllib2 auth_handler = urllib2.HTTPBasicAuthHandler() auth_handler.add_password('realm', 'host', 'user', 'passwd') res = urllib2.build_opener(auth_handler).open('uri') res.read()

    Pythonでベーシック認証 - Bouldering & Com.
    moqada
    moqada 2007/08/01
    Pythonでベーシック認証をするときのコード
  • ASPN : Python Cookbook : Autoslots - from __future__ import nowhere @ はてな

    インスタンス変数を固定する__slots__というのがある。それを自動で設定するメタクラスのレシピ。 inspectモジュールでソースコードを取ってきて構文解析させるという強引な方法をとっているようだ。 メタクラスについてはASPN : Python Cookbook : Semi-automatic resource management with AutoCloseで少し勉強した。 調べたこと。 inspectモジュール compile関数 _astモジュール __slots__変数 inspectモジュール オブジェクトから、ソースコードとかソースファイルとかを調べるのに使える。 このレシピではgetsource(object)でソースコードを取ってきている。 compile関数 組み込み関数。文字列をコンパイルする! compile(string, filename, kind[,

    ASPN : Python Cookbook : Autoslots - from __future__ import nowhere @ はてな
    moqada
    moqada 2007/08/01
    インスタンスを固定する__slots__ってやつを自動で設定するメタクラスのレシピ
  • Wikipedia コーパス - odz buffer

    Wikipedia はそのダンプデータを公開しているので、自然言語処理の研究で利用するひとが結構いたりする。 なので、ためしに英語Wikipedia のダンプデータのXMLをパースしながら、適当に書式情報を削除して1項目1ファイルにして HyperEstraier の文書ドラフト形式で出力してみた。 日語版で、抽出に 13 分、インデキシングに 75 分。英語版で、抽出に 60 分、インデキシングに 3 時間というところ。(CPU: Intel Xeon 2.66GHz) #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os import codecs import re from itertools import izip, count from xml.etree import ElementTree

    Wikipedia コーパス - odz buffer
    moqada
    moqada 2007/07/30
    WikipediaのダンプデータのXMLをパース、書式情報を削除して1項目/1ファイル化、HyperEstraierの文書ドラフト形式で出力
  • Python2.5でExcelを使わずにExcelファイルを読み書きする。 - seraphyの日記

    動機 上記でJAVAを試したから、というわけではなくて、むしろ、こちらが目的。 Pythonのような軽量言語ではゴリゴリ作りこむよりも、利用できるものは利用してしまったほうがよいと思う。そこでExcelを使って入力データを作ってからPythonで読み込ませたり、あるいはPythonで集計した結果をExcelで出力できたら良さそうだな、というところが動機。 ファイル形式としてはCSVファイルでも良かったりするのだが、これは案外難しいし、Excelの複数シートの扱いや、出力するとしても色づけ、罫線づけは魅力的だと思う。 準備 PythonExcelファイルを扱うためのライブラリとして、pyExceleratorというものがあるらしい。これを使うと、Excelの読み書きが簡単にできる。 http://sourceforge.net/projects/pyexcelerator/ ライセンスはB

    Python2.5でExcelを使わずにExcelファイルを読み書きする。 - seraphyの日記
    moqada
    moqada 2007/07/29
    PythonでExcelを読み書きする