プログラミング > Pythonについての記事

別ファイルで定義されているクラスで定義されている関数を使用する方法
No image
先週、PythonETLを作成していて、違うファイルで定義した関数を使用したいときに少し戸惑った。 クラスの中にその関数を定義して、そのクラスをimportして、インスタンス生成して、そのインスタンスから呼び出せばいいと思うので、サンプルを作成していく。 フォルダ構成 以下のようなフォルダ構成。 main.py utils/helperモジュールから、DataTransform ...
モジュール間の循環参照(circular import)のエラーについて
No image
先週のPythonETLの作成で、以下のようなエラーが発生した。 この記事では、このエラーを再現させて、モジュール間のやり取りについての理解を深めていきたい。 サンプルの作成 モジュール間のやり取りに関するエラーを発生させたいので、以下のサンプルファイルを作成した。 main.pyは実行ファイル。module_a.pyからMyClassを読み込んで、そのインスタンス生成を行って ...
現在の日時から20日前の日時を生成する
No image
PentahoETLのPython化において、取得元のフォルダから最終更新日時が20日前のファイルのみを抽出する必要があった。 理由は、3万くらいのファイルがあり、すべて取得してしまうと処理が重くなってしまうから。 その20日という期間を日時型で生成して、ファイル取得のインスタンス生成時にコンストラクタ引数として渡す必要があった。 「20日という期間を日時型で生成」という部分に ...
辞書の値を更新する方法
辞書の値を更新するには、キーの値を取り出す記述を左辺に、右辺に更新したい値を記述すればいい。 下記の例では、pref_listという辞書が入ったリスト(1~5行目)を用意した。for文で、辞書を一つずつ取り出して、prefに代入している(7行目)。pref[‘e_name’]で、e_nameの値が取り出せる(8行目の左辺)。pref[‘e_n ...