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