1. ホーム
  2. python

[解決済み] 名前にダッシュまたはハイフン(-)が含まれるPythonモジュール

2022-10-05 18:47:35

質問

foo-bar.pyという、名前にダッシュを含む既存のPythonモジュールを持っています。

モジュール名を変更することは、モジュールが共有され、私の特別なケースが動作するように、それが使用されるすべての場所を追跡しなければならないので、私が避けたいことです。

通常禁止されている '-' を名前に含むモジュールをロードする方法はありますか?

(私は、これがベストプラクティスではないことを理解しています。しかし、この状況では、私ははるかに大きなアプリケーションのセットを再設計し、テストすることを好みません。 また、私の会社の主人は、私がそのような変更を実装するために時間をかけることを承認しないと思います)。

どのように解決するのですか?

あなたは __import__() . 例えば

foobar = __import__("foo-bar")

しかし、本当は代わりにモジュールの名前を変更すべきです。そうすれば、モジュールのファイル名とプログラムで使用される識別子が異なる場合の混乱を避けることができます。