前の記事:Pythonチュートリアル(9章)の内容を箇条書きでまとめた(作成中)
#はじめに
Python3 エンジニア認定基礎試験対策として、Pythonチュートリアル(書籍)の内容を暗記しやすい箇条書きにまとめた自分用メモです。
##参考資料
Pythonチュートリアル: https://docs.python.org/ja/3/tutorial/
10章: https://docs.python.org/ja/3/tutorial/stdlib.html
書籍: https://www.oreilly.co.jp/books/9784873117539/
#"10章 標準ライブラリめぐり"
- Python3 エンジニア認定基礎試験の配点
- 4 / 40問(10.0%) ☆☆★★★(重要度:中-)
- テーマ
- 標準ライブラリ
#10.1 OSインターフェイス
-
osモジュール はOSとやりとりする関数を提供する。
- os.getcwd() # カレントディレクトリを取得
- os.chdir('/server/accesslogs') # カレントディレクトリを変更
- os.system('mkdir today') # システム側のシェルでコマンド実行
-
shutilモジュール はファイルやディレクトリを管理する関数を提供する。
- shutil.copyfile('data.db', 'archive.db') # ファイルをコピー
- shutil.move('/build/executables', 'installdir') # ファイル/ディレクトリを移動
#10.2 ファイルのワイルドカード
-
globモジュール はディレクトリをワイルドカード検索してファイル名のリストを返す関数を提供する。
- glob.glob('*.py') # *.py ファイルを検索
#10.3 コマンドライン引数
-
sysモジュールのargv属性に、コマンドライン引数がリストとして格納されている。
- ->詳細は、"2.1.1 引数を渡す" 参照。
-
getoptモジュールは、UNIXのgetopt()関数のようにsys.argvを処理する。
- opts,args = getopt.getopt(args, shortopts, longopts=[])
-
argparseモジュールは、パワフルで柔軟なコマンドライン処理機能を提供する。
- parser = argparse.ArgumentParser(description='Process some integers.')
- args = parser.parse_args()
- print(args.accumulate(args.integers))
#10.4 エラー出力のリダイレクト(行き先を変えること)とプログラムの終了
- sysモジュールには、argv以外にも以下のような属性やメソッドがある。
- sys.stdin ... STDIN(標準入力)のファイルオブジェクト
- sys.stdout ... STDOUT(標準出力)のファイルオブジェクト
- sys.stderr ... STDERR(標準エラー出力)のファイルオブジェクト
- sys.exit() ... スクリプトを終了する。
#10.5 文字列パターンマッチング
- reモジュールは高度な文字列処理を行う正規表現ツールを提供する。
- 置換などの簡単な操作は文字列メソッドの方が読みやすくデバッグもしやすい。
#10.6 数学
- mathモジュールを使うと、浮動小数点数数学用の下層Cライブラリ関数にアクセスできる。
- randomモジュールは乱数の取得に使う。
- statisticsモジュールは数値データの基本統計量(平均、中央値、分散など)の算出に使う。
#10.7 インターネットへのアクセス
- 以下はインターネットアクセス用モジュールの一例である。
- urllib.requestモジュールは指定したURLのデータを取得するのに使う。
- smtplibモジュールはメールを送るのに使う。
#10.8 日付と時間
- datetimeモジュールは日付や時間の計算や出力形式の操作に使う。
#10.9 データ圧縮
- データ圧縮をサポートするモジュールが、以下のように圧縮形式ごとに提供されている。
- zlibモジュール
- gzipモジュール
- bz2モジュール
- lzmaモジュール
- zipfileモジュール
- tarfileモジュール
#10.10 パフォーマンス計測
- timeitモジュールは、Pythonコードのタイマー(時間測定)機能を提供する。
-
profileモジュールは、以下のようなプログラムの統計情報を提供する。
- 各部分がどれだけ頻繁に呼ばれたか?
- 各部分の実行にどれだけ時間がかかったか?
- pstatsモジュールは、プログラムの統計情報をフォーマットし表示する情報を提供する。
- 余談だが、書籍だとここに二つもtypoがある(timetit, pstrats)ので注意。
#10.11 品質管理
- doctestモジュールは、モジュールをスキャンしdocstringに埋め込まれたテストを自動検証するツールを提供する。
- unittestモジュールは、JUnitのような単体(Unit)テストのフレームワークを提供する。
#10.12 電池付属です
- Pythonには電池付属(Battery Included:(電化製品などが)すぐに使えること)の哲学がある。
- xmlrpc.clientモジュールとxmlrpc.serverモジュールは、リモートプロシージャコールの簡単な実装を可能にする。
- emailパッケージは、メールメッセージを処理するライブラリのパッケージである。
- jsonパッケージは、JSONファイルのパース(解釈)をサポートする。
- csvモジュールは、CSVファイルの直接の読み書き機能をサポートする。
- XMLの処理は以下のパッケージでサポートされている。
- xml.etree.ElementTreeパッケージ
- xml.domパッケージ
- xml.saxパッケージ
- sqlite3モジュールはSQLiteデータベースライブラリのラッパーで、微妙にノンスタンダードなSQL構文でアップデート、アクセスできる永続データベースを提供する。
- 国際化は以下のモジュールでサポートされている。
- gettextモジュール
- localeモジュール
- codecsパッケージ
次の記事:Pythonチュートリアル(11章)の内容を箇条書きでまとめた(作成中)