Python

1/3ページ

[Python] for, while で else句を使ってフラグ管理する

for, while で else Python で for, while 文を使用するときに else 句が使用できます。if 文で使用する else 句と違い意味で使用します。ほかの言語だとあまり見ない使い方で、最近まで知らなかったので、使い方をまとめます。 for文の else for 文で使用する else 句は for 文でのループ宙に break されなかった場合 に実行されるコードブ […]

pytest で datetime.now() をモックする方法(freezegun, monkeypatch)

pytest で datetime.now() をモック化したい pytest を使って datetime.now() で現在日時を取得しているコードをモック化してテストする方法をまとめます。 datetime.now() は実行時の現在日時を返すのでモック化しないとテストが難しい場合があります。ということでモック化したいですが datetime.now() は組み込み関数(属性)のため単純にモッ […]

[Python] pytest-asyncio で非同期処理をテスト、非同期フィクスチャを実装

pytest で非同期処理をテストしたい pytest で asyncio を使った非同期処理をテストしたい場合、単純に async キーワードを付与してテストメソッドを作ってもうまくいきません。 仮に async def test_asyncio(): みたいなテストを作ってテストを実行すると以下のように async def のテストメソッドはネイティブでサポートされていないためスキップされまし […]

pytest でテストをスキップ、コマンドオプション引数でスキップする

pytest-skip でテストをスキップする Skipping | https://docs.pytest.org/en/reorganize-docs/new-docs/user/skipping.html テストコードが特定の環境でしか動かない場合(例えばWindows環境では動かない場合)や、Pythonのバージョンに依存したテストコードがある場合、実行に時間がかかるので普段のテストでは実 […]

[Python] pytest でモックを使う方法(pytest-mock)

pytest でモックを利用する pytest を利用してテストをコーディングする場合にモックを利用したい場合、pytest-mock というライブラリを使うと便利です。pytest-mock は mock パッケージの薄いラッパーを提供します。 この記事では pytest-mock を使ったいろいろなモックの使い方を紹介します。 pytest の基本的な使い方は以下の記事にまとめてます。 [Py […]

[Python] 処理のタイムアウトを実装する方法

Python でタイムアウト Python で実装した処理が一定時間以上経過しても終了しない場合、強制的に終了するような制御(タイムアウト)を実装する方法をまとめます。実装方法は幾つかありますが、非同期処理なのか同期処理なのかで実装方法や挙動が変わってくるので注意が必要です。 非同期処理をタイムアウト制御する方法 高水準の API インデックス — Python 3.9.1 ドキュメント タイムア […]

[Python] ArgumentParser でコマンドライン引数を解析する

ArgumentParser でコマンドライン引数を解析する argparse — コマンドラインオプション、引数、サブコマンドのパーサー — Python 3.9.1 ドキュメント Python でコマンドライン引数を使ったプログラムを作成する場合、標準ライブラリとして提供される argparse モジュール を使用すると便利です。 例えば cat コマンドでファイル内容を出力すると […]

[Python] pandas のデータフレームで CSVとExcel読み書きする方法

pandas のデータフレームで CSVとExcel読み書きする方法 Python ライブラリ pandas のデータフレームを使って、CSV と Excel ファイルへの読み書きを実装してみます。Excelにデータを書き込んだり、CSVからデータをデータフレームに読み込んで見たりします。 CSV入出力 read_csv() でCSVファイルをデータフレームに読み込む pandas.read_cs […]

1 3