import os, sqlite3
def regist():
con = sqlite3.connect("data.db") # 通常
#con = sqlite3.connect('temp.db', isolation_level=None) # 自動コミット
#con = sqlite3.connect(":memory:") #メモリーDB
# テーブルを作成
sql = u"""
create table 社員 (
名前 varchar(10),
年齢 integer,
部署 varchar(200)
);
"""
try:
# Tableを作成
con.execute(sql)
# SQL
sql = u"insert into 社員 values ('橋本', 26, '広報部')"
con.execute(sql)
con.commit()
# SQL
sql = u"insert into 社員 values (?, ?, ?)"
con.execute(sql, (u"小泉", 35, u"営業部"))
con.execute(sql, (u"亀井", 40, u"営業部"))
con.commit()
# SQL
con.executemany(u"insert into 社員 values (?, ?, ?)",
[(u"堀", 44, u"営業部"),
(u"鈴木", 23, u"営業部")])
con.commit()
finally:
con.close()
def retrieve():
con = sqlite3.connect("data.db") # 通常
c = con.cursor()
c.execute(u"select * from 社員")
print "---------------"
for row in c: # rowはtuple
print row[0], row[1], row[2]
def main():
regist()
retrieve()
if __name__ == '__main__':
main()
2010年8月2日月曜日
2010年8月1日日曜日
Pythonでシリアライズ
ちょっとした設定や計算の途中結果を一時保存するには便利な環境。
import os,marshal
def writedump():
data1 = range(1,100,2)
data2 = ['hori','suzuki','yamada']
with open('datafile.dat','wb') as outfile:
marshal.dump(data1,outfile)
marshal.dump(data2,outfile)
def readdump():
with open('datafile.dat','rb') as infile:
print "1:" + str(marshal.load(infile))
print "2:" + str(marshal.load(infile))
def main():
writedump():
readdump()
if __name__ == '__main__':
main()
■cPickleを使う
import os,cPickle
def writedump():
data1 = '0'*100000
data2 = ['hori','suzuki','yamada']
with open('datafile_pickle.dat','wb') as outfile:
cPickle.dump(obj = data1,file = outfile, protocol = 2)
cPickle.dump(obj = data2,file = outfile, protocol = 2)
def readdump():
with open('datafile_pickle.dat','rb') as infile:
print "1:" + str(cPickle.load(infile))
print "2:" + str(cPickle.load(infile))
def main():
writedump()
readdump()
if __name__ == '__main__':
main()
■さらにZip圧縮する
import os,cPickle,gzip
def writedump():
data1 = '0'*100000
data2 = ['hori','suzuki','yamada']
outfile = gzip.open('datafile_pickle_zip.zip','wb')
cPickle.dump(obj = data1,file = outfile, protocol = 2)
cPickle.dump(obj = data2,file = outfile, protocol = 2)
outfile.close()
def readdump():
infile = gzip.open('datafile_pickle_zip.zip','rb')
print "1:" + str(cPickle.load(infile))
print "2:" + str(cPickle.load(infile))
infile.close()
def main():
writedump()
readdump()
if __name__ == '__main__':
main()
2010年6月20日日曜日
matplotlib
matplotlibはPythondeグラフが使えるようになるモジュール。
まずはnumpyを入れる。
easy_install numpy
インストール時にかなりのエラーがでるが、無視。
http://matplotlib.sourceforge.net/index.html
https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.3/
からインストーラーをダウンロードしてインストール。
サンプルはhttp://matplotlib.sourceforge.net/gallery.html#にいっぱいあるし。
楽しいね。
まずはnumpyを入れる。
easy_install numpy
インストール時にかなりのエラーがでるが、無視。
http://matplotlib.sourceforge.net/index.html
https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.3/
からインストーラーをダウンロードしてインストール。
サンプルはhttp://matplotlib.sourceforge.net/gallery.html#にいっぱいあるし。
楽しいね。
2010年6月16日水曜日
AndroidでPython カメラで写真を撮って自動保存
import android
import time
droid = android.Android()
fileName = time.strftime("%Y%m%d%H%M%S")
droid.cameraTakePicture('/sdcard/My Documents/' + fileName + '.jpg')
print 'end'
2010年5月29日土曜日
PythonからTwitterに投稿
インストールは
easy_install python-twitter
Pythonからは
import twitter
api = twitter.Api(username='xxx', password='xxx')
ret = api.PostUpdate(u"Test")
easy_install python-twitter
Pythonからは
import twitter
api = twitter.Api(username='xxx', password='xxx')
ret = api.PostUpdate(u"Test")
2010年5月16日日曜日
HTS Desire (X06HT) のケースが来た
先日機種変したHTS Desire (X06HT) のケースが来ましたので報告を・・。
買ったのはこれです。
Leather Case for HTC Desire/HTC Bravo - Flip Type (Black)
http://www.amazon.com/gp/product/B003LAWM3Y/ref=oss_product
国内にはレザーケースがまだ出てなくて、Amazon USAではたくさん種類が出ています。
今回は黒で落ち着いた物を選択しました。モノが$23でその他もろもろ(税金や送料)が$10で$33です日本円で3000円ってとこかな。
Amazonが販売して発送が香港のショップと言うことで、安心して買えます。
今月9日に注文して来たのが今日なのでちょうど1週間で来ました。
まずは包装から。HONG KONGと書いてある通り、まじで香港からの直送です。怪しげ~。
ということで、メリット・デメリットはありますが、万が一の事態に対する安心感、可搬性の安心感が格段に向上しますので良い買い物だったと思います。
買ったのはこれです。
Leather Case for HTC Desire/HTC Bravo - Flip Type (Black)
http://www.amazon.com/gp/product/B003LAWM3Y/ref=oss_product
国内にはレザーケースがまだ出てなくて、Amazon USAではたくさん種類が出ています。
今回は黒で落ち着いた物を選択しました。モノが$23でその他もろもろ(税金や送料)が$10で$33です日本円で3000円ってとこかな。
Amazonが販売して発送が香港のショップと言うことで、安心して買えます。
今月9日に注文して来たのが今日なのでちょうど1週間で来ました。
まずは包装から。HONG KONGと書いてある通り、まじで香港からの直送です。怪しげ~。
袋を開けるとこんな感じで、ちゃんと包装されています。
開けると本体とベルト装着グッズが入っているだけで、なんの説明書もショップの広告も入っていません。ベルト装着グッズの仕方がわからなくて、ちょっと困りました。そんくらいの説明書があってもいいのにね。
で、本体を装着してみます。遊びはないのですが、レザーということですっと奥まで入ります。
必要なところがちゃんと見えるようにサイズはバッチリです。
ただ、カメラの位置には穴が開いてなく、フタのカバーを広げないと写真が取れないのがちょっとマイナス。
レザーなのでちょっと厚みがありますが、カバンに入れたりポケットに入れるときの安心があります。
ベルト装着グッズを使った感じはこんな感じ。本体側にフックをつけて、それをベルト側の洗濯バサミのようなツールに入れる仕様です。わりとがっちり噛み合せますので、万が一におちるというリスクはありません。
操作感ですが、レザーの厚みの分やや操作感が落ちてしまうのは仕方ありません。特に画面下のレザーに指が引っかかってしまうので、スクロールがちょっとしにくくなります。ということで、メリット・デメリットはありますが、万が一の事態に対する安心感、可搬性の安心感が格段に向上しますので良い買い物だったと思います。
2010年5月5日水曜日
登録:
投稿 (Atom)