はてブロ@ama_ch

https://twitter.com/ama_ch

easy_installが激しく便利

PythonでHTTP周りのあれこれがしたくて調べていたら発見したmechanizeというモジュールを使いたくなって、ダウンロードしようと探していたら、easy_installという便利なモジュールがあるらしい。 こいつがあると、 easy_install モジュール名とやるだけで勝…

しつこく世界のナベアツに挑戦〜今度はワンライナーで〜

3の倍数と3がつく数でahoになるプログラム - メモ帳(はてな) id:hiSAtOがPHPですごく短く書いてて悔しかったので、ワンライナーで書きました。 >>> ["aho" if x % 3 == 0 or "3" in str(x) else x for x in range(1, 51)] [1, 2, 'aho', 4, 5, 'aho', 7, 8…

Re:宮田のチラシの裏

懇親会でお友達になった宮田君がはてな住人になってくれました! id:j_miyata とりあえず、はてな記法の実験のため、なんかソースを載せる約束したんで、今はやりのナベアツ系プログラムを適当に書いてみるテスト。 http://d.hatena.ne.jp/j_miyata/20080625…

「man コマンド名 > ファイル名」した時の出力がおかしい?

「そういえばsudoコマンドって何?」と思って man sudo > sudo.txtを実行して、「open sudo.txt」でファイルを開いたら、こんな風に表示されました。 SUDO(8) MAINTENANCE COMMANDS SUDO(8) NNAAMMEE sudo - execute a command as another user SSYYN…

Python Challenge Level5

※ネタバレ有り 問題 前回より、 http://www.pythonchallenge.com/pc/def/peak.html 考え方 タイトルは「peak hell」。地獄の頂上? 画像は丘っぽいので、peakは丘のことなんでしょうか。地獄の丘? うーんよくわからない。 画像下に「pronounce it」と書かれ…

Python Challenge Level4

※ネタバレ有り 問題 前回の答えより、 http://www.pythonchallenge.com/pc/def/linkedlist.html へアクセスすると、 linkedlist.php とだけ書いてあるので、拡張子をphpに書き換えてみます。 http://www.pythonchallenge.com/pc/def/linkedlist.php 問題のペ…

Python Challenge Level3

※ネタバレ有り 問題 前回の答えより、 http://www.pythonchallenge.com/pc/def/equality.html 考え方 タイトルが「re」だから明らかに正規表現(reモジュール)を使いそうですね。 いつも通り画像とその下のコメントを眺めます。 One small letter, surround…

Python Challenge Level2

※ネタバレ有り Python Challengeのレベル2に挑戦! 問題 前回より、 http://www.pythonchallenge.com/pc/def/ocr.html 考え方 画像はぼんやりとした本の写真。ひとまず画像下の説明を読む。 recognize the characters. maybe they are in the book, but MAYB…

Python Challenge Level1

※ネタバレ有り Pythonの入門書は読み終えたので、暇な時にThe Python Challengeをやっています。 Level1からのメモを・・・というか、解答に至るまでの流れを載せます。解答=次のレベルのURLなので、これから自力で解きたい方は見ない方がいいと思います。 …

カレントディレクトリ以下すべてのファイルの文字コードを変換する

Macを使い始めてから、文字コードに悩まされる機会が増えました。ファイルを貰ったりすると、大抵EUCやShift-jisでうまく表示できません。各エンコーディングに対応しているエディタを使えば読むことはできますが、やっぱりターミナル上で表示できないと不便…

MacにMySQL-pythonをインストールする

PythonでMySQLを扱うためのモジュールMySQL-pythonをインストールしました。 ダウンロード SourceForge.net: MySQL for Pythonから、MySQL-python-1.2.2.tar.gzをダウンロードする。 インストール ダウンロードしたファイルを解凍するとMySQL-python-1.2.2と…

Pythonのデフォルトエンコーディングをutf-8にする

以前、site-packagesディレクトリの位置がわからなくて放置していたデフォルトエンコーディングが、久しぶりにやったらわかったのでメモ。 以下の内容を、「sitecustomize.py」という名前で保存。 import sys sys.setdefaultencoding("utf-8") このファイル…

MacにChasenをインストールする

研究に使うChasenを6時間かけてインストールしたので、備忘録としてメモ。 茶筌本体の用意 アップル - ダウンロード - ユーティリティ - Chasen Appleからパッケージが配布されているので、これをダウンロード、インストール。/usr/local/bin/chasen にイン…

動物の分類でクラスのお勉強

初めてのPython p.475 #!/usr/bin/env python # -*- coding: utf-8 -*- """ zoo.py 以下のような関係を持つクラスを定義し、対応する動物にふさわしいメッセージを表示する Animal | Mammal ┌---+---┐ Cat Dog Primate | Hacker """ class Animal: def repl…

スーパークラスとサブクラスの演習について

初めてのPython p.397 ここで紹介してきた例と同じようなスーパークラスとサブクラスの関係は、VI部の終わりの演習問題8にも出てきます。初心者にオブジェクト指向プログラミングについて説明する際には、この演習問題のような動物の分類がよく例として使用…

モジュールの一括リロード

「初めてのPython」p.353より #!usr/bin/env python # -*- coding: utf-8 -*- """ reloadall.py 引数として指定したモジュール自身と、そのモジュール内で インポートしているすべてのモジュールをリロードする """ import types def status(module): print …

組み込み関数dir()をカスタマイズする

「初めてのPython」p.344に載っていたdir()のような動作をするソースがなかなか良い感じです。 #!usr/bin/env python # -*- coding: utf-8 -*- """ mydir.py 組み込み関数dir()をカスタマイズする例 指定のモジュールの名前空間に属する変数名の一覧を出力す…

初めてのPythonでよくわからないとこ

p.265に載っている以下のソース >>> t, f = 1, 0 >>> x, y = 88, 99 >>> a = (t and x) or y >>> a 88 >>> a = (f and x) or y >>> a 99 ふむふむ。 これに以下の説明が続きます。 これで一応、問題はないのですが、このコードは「xが決してfalseになること…

printステートメントの処理

初めてのPython p.167 printステートメント オブジェクトのデータをテキストに変換して標準出力ストリーム(stdout)に書き込むステートメント Hello, Worldでまず触れるステートメントだし、これを知らない人はいませんね。 >>> X = 256 >>> print X 256 こ…

回文の判定

初めてのPython 第2版作者: マークルッツ,デイビッドアスカー,Mark Lutz,David Ascher,夏目大出版社/メーカー: オライリージャパン発売日: 2004/11メディア: 単行本購入: 4人 クリック: 286回この商品を含むブログ (104件) を見る Python クックブック 第2版…

Twitterの友達の発言から未フォローのIDを取り出す

Twitterで友達の発言を眺めていると、 「@hoge バカスwww」 なんて発言があって「@hogeってフォローしてたっけ?」なんてことがよくありますよね。・・ありますよね?とにかく僕はよくあります。 そんな僕のジェラシーを解消すべく、python-twitterを利用し…

python-twitterでフレンドリストをファイルに保存する

課題の英語に追われるだけで1日が終わるのはまっぴらゴメンだったので、少しだけPythonで遊びました。 これからpython-twitterで色々遊ぶのに、フレンドリスト*1をファイルに保存しておくと便利なので、さくっとファイルに保存するコードを書きました。 pyth…

すべての文字を各1回使ってできる文字列パターン

codeなにがし::すべての文字を各一回使ってできる文字列のパターン 回答者様の答え(アルゴリズム)がとても綺麗だったので、勉強がてらPythonで書いてみました。 #!usr/bin/env python # -*- coding: utf-8 -*- def pat(arr, level=0, base=""): num = len(…

コマンドライン(ターミナル)からPHPを実行する

MacでコマンドラインからPHPを実行する方法を調べました。 シェルスクリプトとして実行します。以下のようなファイルを用意。(test.php) #!/usr/bin/php 1行目は以下のコマンドを実行した時の結果を貼り付けます。 $ which php /usr/bin/php これで、実行…

MacにEclipse+PyDevをインストールする!

昨日1日かけてやっとこさインストールした! EclipseWikiが非常に参考になったので、こちらとあわせてどうぞ。 必要なものをダウンロードする Eclipse Eclipse Downloadsへアクセス 「Eclipse Classic 3.3.2 - Mac OS X (137 MB)」をダウンロードする!最初J…

MacBookでAMPを構築する

Mac OS XでAMP構築(1/4) − @ITを見て、 ・Leopard標準環境を生かし、MySQLだけ追加インストールする方法 をやってみました。 最初から入っているものの確認 Mac OS X Leopardには最初からApacheとPHPはインストールされているので、一応バージョンだけ確…

python-twitterのGetFriends()で100人以上取得する

昨日、フレンドリストを100人以上取得するためにtwitter.pyを色々いじりました。その結果、 users = api.GetFriends(取得ページ番号) こんな感じで呼び出せるようになりました。ページ番号で3を指定すると、ID*1順で201〜300番を取得します。 でもこれだとい…

METHINKS IT IS A WEASEL

どう書くorg:METHINKS IT IS A WEASELより、yattomさんの解答を読ませて頂きました。 勝手にコメントで解説?します。解説というかメモかな。 お題: ランダムな文字からMETHINKS IT IS A WEASELを作るプログラムを作れ。 簡単に流れを書いてみます。 1:…

python-twitterで遊んでみた 基本編

python-twitterで遊んでみたよ!とりあえず基本的な使い方のお勉強。 ちなみにドキュメントはここにあるからね! http://static.unto.net/python-twitter/0.5/doc/twitter.html モジュールの機能自体シンプルだから、ドキュメントも短くて読みやすいです。僕…

今日のPython

スレッドのロック p.374 RLockオブジェクトを使ってクリティカルセクション(ロック〜アンロック)を作る例 lock = threading.RLock() #クリティカルセクションを開始 try: # スレッドの実行コード finally: lock.release() #ロックを解放 pythonでCGIを利用…