基本のライブラリ関数
🛠️ 基本ユーティリティ系
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):グループ抽出(()で囲んだ部分)