==| [[Python サンプルコード==]] | [[Python 2.5]] | [[言語まとめ Python]] | [[Python 標準ライブラリ概観]] | ==[[Python サンプルコード]]==
==ライブラリ==
*[[Python 標準ライブラリ概観]]
{|class="wikitable"
!ライブラリ・フレームワーク
|-
|Django
|Webアプリケーションフレームワーク[[Webアプリケーション]]フレームワーク
|-
|[[Google App Engine]]
|Google Webアプリケーションフレームワーク
|-
|[[Python Imaging Library]]
|イメージング
|-
|[[Beautiful Soup]]
|HTML解析
|-
|[[Python Win32 Extensions]]
|COM操作
|-
|[[pyExcelerator]]
|Excel操作
|-
==はじめに==
===HELP===
*[[Python help関数の使い方|help関数の使い方] [help関数の使い方]
===ビルトインを調べる===
>>> >>> help(__builtins__) >>> >>> dir(__builtins__)
===属性の確認===
*"オブジェクト"に調べたいオブジェクトを設定
>>> >>> dir(オブジェクト)
===ヘッダー===
=====結果=====
os type:<<type 'module'>> os.listdir type:<<type 'list'>> listdir[0] type:<<type 'str'>>
==ディレクトリとファイル==
|パスの存在判定
|-
|print 'C言語スタイルの書式文字C[[言語]]スタイルの書式文字' %(パラメータ)
|書式付出力
|-
print '%s\t%s\t%s' %(str(os.path.isdir(p)), str(os.path.exists(p)), p)
===[[Python 文字コードを指定してファイルを開く]]===*[[Python 文字コードを指定してファイルを開く]]
===ファイルの内容を表示===
*ディレクトリに含まれるファイルの内容を出力
|}
<<blockquote>>print の末尾に "," で、改行出力を抑制<</blockquote>>
import os
finally:
f.close()
=== ファイルをwithで開く===<pre>with open('./out/page_index.txt', 'w') as f: f.write('hoge')</pre>
===ファイルの情報を取得===
{|class="wikitable"
|}
>>> >>> import time >>> >>> import os >>> >>> r = os.stat(r'/test.txt') >>> >>> r
nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=4508L, st_atime=1266996480L, st_mtime=1266452528L, st_ctime=1251076742L)
>>> >>> ct = time.ctime(r.st_ctime) >>> >>> ct
'Mon Aug 24 10:19:02 2009'
===絶対パスからファイル名のみを取得===
*os.path.basename
>>> >>> import os >>> >>> os.path.basename('c/work/test.txt')
'test.txt'
===パスを生成===
join(a, *p)
>>> >>> import os >>> >>> p = os.path.join('c:\\', 'work', 'test') >>> >>> print p
c:\work\test
|}
>>> >>> import os >>> >>> os.path.isdir('c:\work')
True
return l
l = trav('C:\\', 'Python25[[Python]]25')
pprint.pprint(l)
=====例2=====
tp.traverse(working_dir=os.getcwd())
*[[Python ファイルの文字コード]]
==オブジェクト指向==
*[[Python サンプルコード オブジェクト指向]]
==コレクション==
===リスト===
====結合====
>>> >>> l = [] >>> >>> l.append('a') >>> >>> l.append('b') >>> >>> l
['a', 'b']
>>> >>> ','.join(l)
'a,b'
<<blockquote>>リスト同士を結合する場合、extend を利用する<</blockquote>>====[[スライス]]====
{|class="wikitable"
!API
===[http://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%97%E3%83%AB タプル]===
*リストや配列と異なり、用途や型が異なるオブジェクトをひとつにまとめるために使われる
*C言語の構造体を匿名にしたようなものと考えることができるC[[言語]]の構造体を匿名にしたようなものと考えることができる
*ひとつの「かたまり」として変数に代入できる
*関数の返り値として使うこともできる。これによって、複数の値を返す関数を実現することができる
=====共通集合=====
s & set([1,2,3])
=====[[その他]]=====
*union:和集合を返す
*intersection:共通集合を返す
====キーとそれに対応する値を同時に取り出す====
*iteritems() メソッドを使う
>>> >>> m = {'a':1,'b':2,'c':1,'d':2} >>> >>> for k, v in m.iteritems():
... print '%s,%s' % (k, v)
...
====条件にあった要素をリスト内包表記で取り出す====
>>> >>> m = {'a':1,'b':2,'c':1,'d':2} >>> >>> m2 = dict([(k, v) for k, v in m.iteritems() if v == 1]) >>> >>> m2
{'a': 1, 'c': 1}
====辞書に辞書を追加する====
>>> >>> m = {'a':1,'b':2} >>> >>> m1 = {'c':3,'d':4} >>> >>> m.update(m1) >>> >>> m
{'a': 1, 'c': 3, 'b': 2, 'd': 4}
==データベース==
===データベース(SQLite[[SQL]]ite)の使用===*http://www.python.jp/doc/release/lib/module-sqlite3[[sqlite]]3.html
#!python2.5
# -*- coding: utf-8 -*-
import sqlite3[[sqlite]]3
con = sqlite3[[sqlite]]3.connect('/work/py/test.db')
#create database in RAM[[R]]AM #con = sqlite3[[sqlite]]3.connect(':memory:')
con.execute("create table test (id text, value text, note text)")