第9章 入力と出力¶
CSV、ファイル風オブジェクト、環境変数とディレクトリ走査の基本を確認してから、文字符号化、バイナリ形式、ハッシュ、正規表現、非同期 I/O に進みます。
問題一覧¶
- 0900: CSV の金額集計:CSV 形式のテキストを読み取り、名前ごとの金額を合計します。
- 0901: JSON Lines を読む:1行に1つの JSON 値があるテキストを読み取り、Python オブジェクトのリストにします。
- 0902: 行番号付き出力:ファイルオブジェクトへ、行番号を付けたテキストを書き出します。
- 0903: 環境変数から探す Python ファイル:環境変数で指定されたディレクトリを pathlib で再帰的に調べ、Python ファイルの相対パスを返します。
- 0950: UTF-8 コーデックの手書き実装:UTF-8 の可変長符号化をビット演算だけで実装し、不正なバイト列の検出まで行います。
- 0951: struct によるチャンク形式のパース:タグと長さを持つチャンクの繰り返しからなるバイナリ形式を struct モジュールで解析します。
- 0952: hashlib で作る Merkle 木:SHA-256 で Merkle 木を構成し、認証パスによる包含証明と検証を実装します。
- 0953: re で作る字句解析器:名前付きグループを合成した正規表現で、最長一致のトークン化を行う字句解析器を実装します。
- 0954: asyncio による有界並行実行:セマフォで同時実行数を制限しながらコルーチン群を並行実行し、結果を入力順で返します。