みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonには「後方互換性を大切にする」というモットーがあって,時にはそれが裏目に出ることがある。PythonでWebにリクエストを送る時の手法は,目的に応じて複数存在するが,これも後方互換性を守るがために起こっている現象といえる。当初はシンプルな機能を持つモジュールが利用されていて,その後より高度な機能を持つモジュールが追加されたのだが,後方互換性を守るために古いモジュールが残されているのだ。 たとえば,普通にhtppでGETリクエストを送って結果を取得するなら簡単で from urllib import urlopen src = urlopen('http://www.exam
今日はさっくり小ネタ。 最近私はPythonを勉強中なのですが、「このての軽量言語はさっと書いてさっと実行できなきゃだめ」という信念のもと、編集にはvimを使っています。 とはいえ、Pythonは実はかなり「エディタを選ぶ」言語です。インデントによってブロックを表現するので、インデントがきちんと表示されないと困りますし、タブとスペースが入り交じってしまわないようなエディタの補助も欲しいところです。 というわけで、今日は、そんなPythonをすっきり快適に編集できるような vim の設定をご紹介します。 いきなり結論 私は以下のような記述を ~/.vimrc に追記しました。 autocmd FileType python setl autoindent autocmd FileType python setl smartindent cinwords=if,elif,else,for,wh
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
メールアドレスの抽出 まずはメールアドレスを抽出します。 私は過去メールを Maildir 形式で保存しています。 これらのメールを以下のようなスクリプトで走査して、私と直接メールをやりとりした社内の人のメールアドレスをとりあえず抽出します。 コードを書いた時の個人的なポイントはこんな感じです。 mailbox.Maildir で Maildir フォルダから書くメールファイルを読み込む。 rfc822 を使用してメールアドレスのみを抜き出す。 set とか正規表現を使って、自分のメールアドレスが含まれているか、社内のメールアドレスかを調べる。 #!/usr/bin/env python from __future__ import print_function import mailbox import rfc822 import re # 自分のメールアドレスの一覧 my_addres
TimelineはGUIで年表を作成するソフトウェアです。データを簡単にプロットできます。 横軸に時間をとった年表というのは時々見かけますが、それを自分で作成できるソフトウェアがTimelineです。 インストールします。インストーラーとZip解凍版があります。 ライセンス確認です。 インストールパスを指定します。 完了しました。 起動しました。まだ何もありません。 サンプルです。横軸が時間、その上にデータを載せていきます。 イベント追加ウィンドウです。 指定した時間に対してイベントが追加されます。 単位を月単位にしました。 10年単位にしました。 ディレクトリをタイムライン化する機能もあります。 Timelineは社会や歴史のデータをプロットするのはもちろん、イベントやスケジュールをタイムラインに表示してみても面白いかも知れません。データは画像として出力できます。マウスホイールで拡大、イ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 一部読者から高い評価をいただき,絶版となりながら中古市場でプレミア価格がついていた拙著「みんなのPython Webアプリ編」のHTML版をお送りします。Pythonを使って,Webアプリを開発するための方法を,基本的な事柄から積み重ね式に解説した書籍をHTMLにしたのが本コンテンツです。 編集部のご厚意で作ってもらった配布用PDFをベースに作っています(PDF作成だけでなく,出版契約の解除など必要な手続きを快く受けて頂いた担当様にはとても感謝しております)。構成などは著書をベースにしていますが,HTML化する過程で少し手直ししてあります。特にPython 2.7で動かないサンプルコー
PythonでHTTP周りのあれこれがしたくて調べていたら発見したmechanizeというモジュールを使いたくなって、ダウンロードしようと探していたら、easy_installという便利なモジュールがあるらしい。 こいつがあると、 easy_install モジュール名とやるだけで勝手に探してきてインストールしてくれるらしい。すげー! なので、早速インストールしてみました。 EasyInstall - The PEAK Developers' Centerでダウンロードできるけど、コマンドを使うのが簡単なのでそちらでやってみましょう。 $ curl -O http://peak.telecommunity.com/dist/ez_setup.pyこれでeasy_installの本体をダウンロードします。Macだと最初からwgetが入っていないので、代わりにcurlコマンドを使います。-Oオ
あるディレクトリから特定のファイルを検索したい場合、探索対象ディレクトリ内のファイルを全て取得する必要があります。今回は、引数にディレクトリを指すパスを指定することによって、そのディレクトリの内容を取得する関数を2つ示します。 ソースコード # coding: Shift_JIS import os # osモジュールのインポート # os.listdir('パス') # 指定したパス内の全てのファイルとディレクトリを要素とするリストを返す files = os.listdir('C:\Python25\') for file in files: print file 実行結果の一例 DLLs Doc include Lib libs LICENSE.txt lxml-wininst.log NEWS.txt PIL-wininst.log pysqlite-wininst.log pys
github に Python 入門的な記事を上げてるのですが、こっちでも紹介したいと思います。環境構築なども含めて。 今回は Mac OSX 10.6 を前提にしています。 ちなみに、github に上げてる記事はこちら→Python 基礎:目次 Python インタプリタのインストール OSX では、Python インタプリタが大きく3系統に分けられます。 デフォルトでインストールされている Python Python の公式サイトにあるインストーラを利用してインストールした Python MacPorts を利用してインストールした Python これらはそれぞれ、 /usr/bin/python /usr/local/bin/python /opt/local/bin/python にインストールされます。 今回はバージョン管理が簡単な MacPorts 版の Python をイン
環境構築 debian6 python2.6 django1.3 なんでdebianにしたのか 簡単だったからです。最初centos5でやってたんだけど、デフォルトのpythonが2.4でちょっと古い。djangoのサイトには Django は バージョン 2.3 以上の Python で動作しますが、 2.5 以降がお勧めです。という のも、 Python 2.5 からは、 SQLite という軽量なデータベースが付属するからで す。 とあるので、バージョンを上げたい。でもyumのパッケージ管理では2.4.3がMAXなので、python2.7のソースコードを落としてmake installした。pythonのシンボリックリンクをpython2.7に変更していざ始めようとしたら、yumが動かなくなった。どうやらyumはpythonで書かれているらしい。始めて知った。yumだけpython2
Pythonでは、ループ・try・withブロックは最大20までしかネストできない。 >>> def spam(): ... while 1: ... while 2: ... while 3: ... while 4: ... while 5: ... while 6: ... while 7: ... while 8: ... while 9: ... while 10: ... while 11: ... while 12: ... while 13: ... while 14: ... while 15: ... while 16: ... while 17: ... while 18: ... while 19: ... while 20: ... while 21: ... print "Deep!" ... SystemError: too many statically n
はじめに サエンバイノー(こんにちは)、Python界のメンソレータムです。さて猫も杓子もクラウドの時代ですが、みなさんいかがお過ごしでしょうか。先日ふと「DotCloud」というサービスを見かけてベータ登録したので、ご紹介致します。 DotCloudってなに? dotCloud - One home for all your apps DotCloudはいままでWebアプリケーションホスティングサービスの中で期待されていた領域に切り込もうとしてますよ。まず使える言語はPHP, Ruby, Python, Javaがいまのbetaの時点で使えて、さらにこれからリクエストがある言語にも対応しようとしてます。(ErlangとかSchemeとか)で、DBとかMQとかすでに有名所はいくつか使えて、なんでもリクエストがあれば対応するぜ!っていう勢い。またスケールに関してもスケールアップ、スケールアウ
おはようございます!小倉智昭です! ちんこうp!ちんこうp! いやあid:moriyoshiがパイプカットするとかしないとかで盛り上がってる中恐縮なんですが今回は @aodag先生から、アドベントカレンダーが回ってきたのでその話をしたいと思います。 web2py webフレームワークということなので今回はweb2pyを紹介したいと思います。 正直書くことがなくて困ってたので「ドキッ!漢字だらけのwebサーバ、eurasia」の話を書こうかと 思ったですがやめました。 漢字読めないし。 で話を戻します。 よくpython初心者に使うwebフレームワークなら何がいいですけねー?みたいな話がありますが、 もちのろん答えは決まっています。pyramidじゃなくweb2pyです。 djangoなんて難しいので使ってられません。 web2pyはシンプルにwebアプリケーションを書けるフレームワークです
こんなの作った モチベーション テキスト形式での納品を求められるけども、もうちょっとメタデータの乗せやすいフォーマットで書きたいなぁ、ついでに言えば自分が今どれくらい書けているかのイメージを掴む上でも、人に渡してレビューしてもらうにしても、編集しているものが手軽に見やすい形にできるといいなぁ。プログラムで扱うのが楽なフォーマットがいいなぁ。ってそれHTMLでいいんじゃない? 過去の実装 Jython本を執筆するときは「求められているテキストフォーマットに最低限のメタデータを載せられるようにした独自フォーマット」からHTMLと納品用テキストに変換していたが、メタデータの載せにくさと自分の書いている原稿のプレビューのたびに変換スクリプトを走らせるののめんどくさにこのアプローチはダメだと思った。 現在の仕様 1行23文字、1ページ42行、1ページ2カラム構成の紙面を想定。 JSとCSSで真面目に
2008-12-22 01:22 | IT, エントリー Aptana Cloudを利用してみました。 統合開発環境のAptana Studioで有名な米Aptana社が運営しているWebアプリケーションのホスティングサービスです。 AmazonのEC2よりも上位層のアプリケーションレベルのホスティングなので、Google App Engineと同等のホスティングと言えます。 Eclipseからサインアップをしてみる EclipseにAptanaのプラグインをインストールして、My Aptanaを開きます。 サイト名(サブドメイン名)と利用方法を決めます。今回は、21日間無料トライアルを利用しました。 Aptana IDを持っていない場合は、ここでアカウントを作ります。 利用規約をよく読んで同意します。 アプリケーションサーバーの環境構築処理が始まります。 アプリケーションサーバーの構築が
Zed 氏はRails向けWebサーバ「mongrel」を開発したり、「Rails Is A Ghetto」というRailsやRubyコミュニティを批判した記事を書いたことで有名です。 この記事では、Zed氏の考えるプログラミング言語の入門向けテキストはどうあるべきかについて語っています。事ことの発端はフリーで公開しているPythonのチュートリアル『Dive Into Python』をZed氏が「何年も更新されていない」「例題がひどい」など痛烈に批判したことからです。『Dive Into Python』の著者であるMarkPilgrim氏とコメントを交わしたりしたあと、入門者にとって最適な教材の要素として以下を挙げています。 演習が豊富にあること 1~2ページごとに演習があること 無駄な文章が少ないこと 演習を解いてどんどん進められること これらの要素は、ギターをプレイするZed氏
a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く