タグ

ブックマーク / taichino.com (4)

  • Pythonの隠された機能9つ – taichino.com

    StackOverflowでHidden features of Pythonという面白い質問がありました。原文の方では何十も項目があるのですが、独断と偏見で9個に絞って紹介します。 1. chaining comparision operator 不等式を連結出来るなんて初めて知りました。スーパーかっこいいです。今まで1 < x and x < 10とか書き続けてました。 x = 5 if 1 < x < 10: print "yay" if x < 10 < x*10 < 100: print "yaay!" if 5 == x > 4: print "yaaay!!" 他の言語でも出来んの?と思ってちょっと調べてみましたが、どうもPythonだけっぽいです。やっぱりPython最高ですね! 2013.03.05 追記 twitterで突っ込まれました。Pythonだけって言うのは嘘で

    TaRO
    TaRO 2013/03/06
  • Pythonでタイムゾーンを扱うメモ – taichino.com

    だと普段扱わないので、忘れがちなタイムゾーンの処理をメモ書きです。ここでは例として、日時間とアメリカ東海岸標準時の変換してみます。 まず標準ライブラリだけで処理すると以下のような書き方をするようです。各時間帯ごとにdatetime.tzinfoを継承したクラスを作成し、その中でUTCからの時間のずれ等を設定します。 #!/usr/bin/python # -*- coding: utf-8 -*- import datetime # 日時間 class JST(datetime.tzinfo): # UTCからの時間のずれ def utcoffset(self, dt): return datetime.timedelta(hours=9) # サマータイム def dst(self, dt): return datetime.timedelta(0) # タイムゾーンの名前 de

  • pythonでtwitterのStreaming APIを使ってみた – taichino.com

    twitterのように更新頻度が高いサービスのAPIはポーリングとあまり相性がよくありません。どうせtwitter API使うプログラム書くなら、リアルタイムなイベントベースっぽいAPIの方が色々と都合が良いので調べてみました。なんとなくXMPPに対応してる気がしてたんですが、実際はStreaming APIという独自のインターフェースが用意されていました。 Streaming API自体はただのHTTPリクエストで、リクエストのコネクションを張りっぱなしにして、都度データが流れてくる様な形になります。見るからに相性が良さそうなのでgeneratorで書いてみました。この例では幾つか種類があるStreaming APIの中からfilterを使っています。 #!/usr/bin/python # -*- coding: utf-8 -*- import sys import base64 i

  • tweepyでtwitterの3-legged OAuth認証を試してみた(GoogleAppEngine) – taichino.com

    そろそろGAE上でユーザ登録が必要なサービスを作りたいのですが、ユーザ登録周りの実装はやりたくないので、twitterのOAuthを代わりに使ってみる事にしました。twitterAPIを叩くのにこれまではtwythonを使っていたのですが,OAuthに対応していなかったので、今回はtweepyを使います。以前2-legged OAuthを試してみましたが、今回は3-legged OAuthです。 twitterのOAuth認証によるログイン、ログアウトとログイン後にユーザのタイムライン表示と、tweetを実装しています。ロジックのソースは以下になりますが、まず動作しているサンプルを見るのが早いと思います。 # -*- coding: utf-8 -*- import os import cgi import logging from google.appengine.ext.webapp

  • 1