メインコンテンツへスキップ

基本のライブラリ関数

🛠️ 基本ユーティリティ系

os(OS機能の呼び出し)

  • os.path.isfile(path):ファイルかどうかを判定する

  • os.path.isdir(path):ディレクトリかどうかを判定する

  • os.listdir(path):指定パスのファイル一覧を取得する

  • os.makedirs(path, exist_ok=True):再帰的にディレクトリを作成する

  • os.environ['HOME']:環境変数(例:HOME)を参照・設定する

  • os.walk(path):指定ディレクトリ以下を再帰的に走査する

sys(Python実行環境情報)

  • sys.argv:コマンドライン引数のリスト

  • sys.exit(status):プログラムを任意のステータスコードで終了する

  • sys.path:モジュール検索パスのリスト

  • sys.stderr.write(...):標準エラー出力への書き込み

pathlib(パス操作の高機能ラッパー)

  • Path(path).exists():ファイルまたはディレクトリの存在確認

  • Path(path).is_file() / .is_dir():ファイル・ディレクトリの判定

  • Path(path).glob("*.txt"):ワイルドカードでファイル検索

  • Path(path).mkdir(parents=True, exist_ok=True):ディレクトリを再帰的に作成

  • Path(path).resolve():絶対パスを取得する

shutil(ファイル/ディレクトリ操作)

  • shutil.copy(src, dst):ファイルをコピーする

  • shutil.rmtree(path):ディレクトリごと削除する

  • shutil.move(src, dst):ファイルやディレクトリを移動する

  • shutil.make_archive(base_name, format, root_dir):zip等の圧縮アーカイブを作成


📄 ファイル・データ操作系

yamlは3.13時点ではサードパーティ製ライブラリPyYAMLが対応

json(JSONの読み書き)

  • json.load(file):ファイルからJSONを読み込む

  • json.dump(obj, file):ファイルにJSONを書き込む

  • json.loads(str) / json.dumps(obj):文字列との相互変換

csv(CSVファイル操作)

  • csv.reader(file):CSVの読み込み

  • csv.writer(file):CSVの書き込み

  • next(reader):1行ずつ取り出す

pickle(Python専用のシリアライズ)

  • pickle.dump(obj, file):オブジェクトをファイルに保存

  • pickle.load(file):ファイルからオブジェクトを復元

configparser(iniファイル読み書き)

  • ConfigParser().read(filename):INIファイルを読み込む

  • config.get(section, key):指定セクションからキーの値を取得

  • config.set(section, key, value):値を設定する


⏱️ 時間・日付系

datetime(日時操作)

  • datetime.datetime.now():現在日時を取得

  • datetime.timedelta(days=1):時間差を表すオブジェクト

  • datetime.strptime(str, fmt):文字列→datetimeに変換

  • datetime.strftime(fmt):datetime→文字列に変換

time(低レベルな時間操作)

  • time.sleep(seconds):指定秒数待機する

  • time.time():1970年からのUNIX時間を取得

  • time.localtime() / time.strftime():ローカル時刻の整形


🔢 数学・統計系

math(数学関数)

  • math.sqrt(x):平方根を計算する

  • math.log(x, base):対数を計算する

  • math.pi, math.e:円周率・ネイピア数などの定数

random(乱数)

  • random.random():0.0〜1.0の乱数を返す

  • random.randint(a, b):指定範囲の整数乱数

  • random.choice(seq):シーケンスからランダムに1つ選択

  • random.shuffle(seq):シーケンスの並びをシャッフル

statistics(基本統計量)

  • statistics.mean(data):平均値

  • statistics.median(data):中央値

  • statistics.stdev(data):標準偏差


🔁 イテレーション・データ構造系

dataclasses(簡潔なデータ構造定義)

  • @dataclass:自動で__init__, __repr__, __eq__などを生成

  • field(default=..., init=..., repr=...):フィールドの詳細設定

collections(便利なデータ構造)

  • deque():両端キュー(FIFO/LIFOどちらも可能)

  • defaultdict(default_factory):存在しないキーに初期値を提供

  • Counter(seq):要素の出現回数をカウントする

itertools(イテレータ操作)

  • itertools.product(a, b):デカルト積(直積)

  • itertools.permutations(seq):順列

  • itertools.combinations(seq, r):組み合わせ

  • itertools.cycle(seq):無限ループ


🧪 テスト・デバッグ系

unittest(単体テストフレームワーク)

  • TestCase を継承してテストを書く

  • assertEqual, assertTrue, assertRaises などのアサーション

  • unittest.main() でテスト実行

logging(ログ出力)

  • logging.basicConfig(level=logging.DEBUG):基本設定

  • logging.debug/info/warning/error():ログ出力

  • logging.getLogger(__name__):ロガーをモジュールごとに分けて使用

traceback(エラー情報の出力)

  • traceback.print_exc():現在の例外のスタックトレースを表示

  • traceback.format_exc():スタックトレースを文字列として取得


🌐 通信・Web系

urllib.request(HTTPリクエスト)

  • urllib.request.urlopen(url):GETリクエスト

  • urllib.parse.urlencode(dict):URLパラメータの整形

  • urllib.parse.urlparse(url):URLを分解して取得

http.server(ローカルWebサーバ)

  • python -m http.server:カレントディレクトリをWeb公開


🔐 セキュリティ・暗号系

hashlib(ハッシュ関数)

  • hashlib.sha256(data).hexdigest():SHA256のハッシュ値を取得

  • hashlib.md5():MD5(セキュリティ目的には非推奨)

secrets(暗号安全な乱数)

  • secrets.token_hex(nbytes=16):ランダムな16進文字列

  • secrets.choice(seq):セキュアなランダム選択


🔍 文字列操作系

re(正規表現)

  • re.search(pattern, string):マッチする部分を1つ検索

  • re.match(pattern, string):先頭がマッチするか確認

  • re.findall(pattern, string):すべてのマッチ結果をリストで返す

  • re.sub(pattern, repl, string):置換

  • re.compile(pattern):正規表現オブジェクトを事前にコンパイル

  • match.group(n):グループ抽出(()で囲んだ部分)