Python鍋(忘年会?)に行ってきました

行って参りました。

場所は渋谷ってことで、
1時間半前には渋谷に到着して買い物をしてました。
久しぶりに行ったなぁ〜。
最近はwebで買えちゃうから、
レコードを掘ったりしてなかった。

そんなこんなで日本人のアーティストを
掘ってたらすげぇ〜うれしいものを発見!

SugarSoulのlimited editionってやつ。
2枚組のEPなんですが、
「今すぐ欲しい」の 「- ButterSmoother -」ってバージョン違いや
いとしさの中でもあったし、「Sause」や「悲しみの花に」も入ってた。
なんとそれで900円。

安いなぁ〜。

速攻でGetですね。

そんなこんなでいくつかレコードショップを回ったり、
お香を購入したりしてから、
Python鍋に行きました。

全部で10人ほどだったのですが、
以前同じ会社に勤めていたt-matsuda氏とminaco氏もPython関連に初参加していただきました。

いつも通りみなさんとても親切で、
話を聞いているだけで刺激を与えてくれる。
そんな環境が大好きです。

そういえばVoluntasさんの記事にある「となりのおねーさん」と会えたのもすげぇ〜うれしかったです。
ピンクのターミナルの話なども聞けました。

今年もあと少しですが、
まだまだPythonをどんどん書いていきたい。
でも今年はもうほぼ毎日のように予定が埋まっている。
家族サービスも大切。
子供かわいい。

それから・・・

時間がねぇ〜。。。

まぁ〜来年も自分のペースでやっていこう。
あせるといい事無いし。

Pythonを勉強中 vol.11

最近忙しく全然更新する暇が無くなってきた。。。

今やってる事は人生掛かっているので、
しょうがないっす!

ってことでPythonでファイルを読み込んでみるってのを
やってみた。

入力ファイルのオープンは

input = open(‘ファイル名’, ‘r’)

出力ファイルの作成・オープンは

output = open(‘ファイル名’, ‘w’)

ファイルの読み込みは

input.read()

ってのをふまえてやってみる。
まずテスト用にファイルを作成する。
今回は「test.html」ってのを作った。

>>> input = open(‘test.html’, ‘r’)
>>> print input.read()
<html>
<body>
<div>
<p>testだよ</p>
</div>
</body>
</html>

ちゃんと読み込んでいる。

次にファイルを作成し、書き出してみる。

>>> output = open(‘test.html’, ‘w’)
>>> output.write(‘<html><body><div><p>hogehoge</p></div></body></html>’)
>>> output.close()
>>> input = open(‘test.html’, ‘r’)
>>> print input.read()
<html><body><div><p>hogehoge</p></div></body></html>

ちゃんと上書きされている。

さっきのファイルを違う形で読み込んでみる。
今回は「for」を使用した。
「while」でも出来るが「for」の方が一行ずつ読み込む場合は、
簡単に掛けて実行速度も速い。

>>> for char in open(‘test.html’).read():
… print char

<
h
t
m
l
>
<
b
o
d
y
>
<
d
i
v
>
<
p
>
h
o
g
e
h
o
g
e
<
/
p
>
<
/
d
i
v
>
<
/
b
o
d
y
>
<
/
h
t
m
l
>
>>>

うぉ!?
一文字ずつ読んでしまったw

>>> for line in open(‘test.html’).readlines():
… print line

<html><body><div><p>hogehoge</p></div></body></html>

これだと解りにくいな。
改行してからもう一回やってみる。

>>> for line in open(‘test.html’).readlines():
… print line

<html>

<body>

<div>

<p>

hogehoge

</p>

</div>

</body>

</html>

改行コードが入ってるのかな?
readlines()はファイル全体を読み込んで、
内容を文字列のリストにまとめるので、
改行もやはり入ってきちゃうのか。

ちなみに同じようにwhileでやってみた

>>> file = open(‘test.html’, ‘r’)
>>> while 1:
… line = file.readline()
… if not line: break
… print line,

<html>
<body>
<div>
<p>
hogehoge
</p>
</div>
</body>
</html>

追記

webooさんからコメントをいただき試してみました。

>>> for line in open(‘test.html’).readlines():
… print line.strip()

<html>
<body>
<div>
<p>
hogehoge
</p>
</div>
</body>
</html>

文末の余計な改行を削除するには、strip()を用いるって事ですね。
ありがとうござました。

追記2

MiCHiLUさんからコメントをいただき、
SrtingIOを調べてみて試してみました。

StringIOとは、ファイルのように文字列を読み書きする。

つまり

>>> print open(‘test.html’).read()
<html>
<body>
<div>
<p>
hogehoge
</p>
</div>
</body>
</html>

forで位置一行ずつ読み込むと

>>> for line in open(‘test.html’).readlines():
… print line.strip()

<html>
<body>
<div>
<p>
hogehoge
</p>
</div>
</body>
</html>

となってしまうが、
StringIOを使うとファイルのように読み書きするので、

>>> input = StringIO.StringIO(open(‘test.html’).read())
>>> for line in input.readlines(): print line,

<html>
<body>
<div>
<p>
hogehoge
</p>
</div>
</body>
</html>

こんな感じっす。
まさにファイル通りちゃんとインデントも
読んでいるっす。

いい感じです。
あいがとうございました!

ついでにStringIOにはgetvalueというメソッドがあるので、
こちらも試してみた。

>>> input.getvalue()
‘<html>\n <body>\n <div>\n <p>\n hogehoge\n </p>\n </div>\n </body>\n</html>\n’

こちらはファイルの中身全体を返すので、
改行なども含まれて返してくれるっす。

あとは、
closeにてメモリを解放するっす。

>>> input.close()

今日は疲れた。。。

なんか会社でPHP5の講習を受けさせられた。。。
帰ってきたらこんな時間だし・・・
疲れた。

diskUnionで限定発売されている

N & PのNPEPがやばすぎる。

特に後半4.5.6曲目が好きだなぁ〜。

買うかなぁ〜。

1. MC – LYRIC BY FOOK BEAT BY 33/SCRATCH BY D2
2. 町商人 – LYRIC BY FOOK/BEAT BY 33/SCRATCH BY D2
3. MC inst
4. EVERYTHING – LYRIC BY オニギリ/BEAT BY 33
5. MR.JOY – LYRIC BY オニギリ/BEAT BY TOME & SOLDIER
6. サンセ – LYRIC BY オニギリ/BEAT BY 33

http://diskunion.net/clubh/

GoogleGearsを試してみた

この間のPython Unconference Tokyo 1にて、
michiluさんのプレゼンを観て興味を持ったGoogleGearsを試してみた。
自分の中ではすごく勘違いをしていて、
どのサイトでもローカルのSQLiteに
キャッシュを保存してくれるものだと思っていたが、
そんな都合の良いものでは無いのですね。。。

まずGoogleGearsとはなんだろう?
ってのがちゃんと解っていなかったので、
検索してみると

http://itpro.nikkeibp.co.jp/article/COLUMN/20070911/281645/?ST=swd-tech

なんてのがあるのでこちらを読むと解る。
サンプルも載っているので実際に試してみた。

おぉ〜確かにすごいなぁ〜。
ちゃんとオフラインでも表示されるのが確認が出来た。

しかし実際にページのキャッシュを残すには、
同じサーバ内にgears_init.jsと、
どのページをキャッシュに残すのかを書いたjsが必要になる。

なら、
自分のブログとかで試してみれば良いのか?
でもあんま必要無いなぁ〜。。。

そういえばDjangoオンラインドキュメント和訳には、
あるってのを言ってたので試してみた。

ん〜どこにあるんだろう?
って思ってたら右上にあったw

こいつをクリックすればOK

おぉ〜すげぇ〜カウントが始まってる。
全部読み込めたら完了なので、
実際にオフライン作業にしてみる。

まずFireFoxnメニューのファイルにある

「オフライン作業」

をクリックしてみる。
それから、どこかページを適当に開くと

「オフラインモードになってます」

って言われページが表示されない。
次にDjangoオンラインドキュメント和訳を開いてみる。
ちゃんと表示されている。
これならネットに繋がっていなくてもドキュメントが確認出来る。

素敵。

GoogleGearsはこちらからインストールが可能っす。

Olive Oilはやっぱ良い音を作るなぁ〜

いや〜この人の音はやっぱ最高。

1000枚限定だし買うかなぁ〜。

Olive Oil / From 薬院 II EP

A1, Good Life 4 You
A2, Funky Response Remix
A3, Yeah
B1, Made By Peace
B2, Run Tenjin

Smooth Jも新作出てるね。

でもこのもののけよりも、
自分の持ってるやつの方が好きだな。
なんか音が軽すぎる。

後、
Aicube Music Present / Beautiful Fieldは間違いなかったっす!
インスト最高だなぁ〜。

http://www.zooooo.jp/