ファイルの名前を変更した場合のみ可能ですか?または、そのファイルの名前を定義するためにファイルに__module__
という変数がありますか?Pythonモジュール名を変更するには?
答えて
はい、ファイルの名前を変更する必要があります。あなたのシステムからoldname.pyc
とoldname.pyo
のコンパイル済みファイル(もしあれば)を削除することをお勧めします。そうしないと、モジュールは古い名前でもインポート可能になります。
すべてのクラスには__module__
というプロパティがありますが、これを変更してもクラスの名前空間は変更されません。
可能であれば、setattrを使用してメソッドやクラスを目的のモジュールに挿入する必要がありますが、コードを将来のピアにとって非常に混乱させる危険性があります。
ファイルの名前を変更することをお勧めします。
この__module__
の変数はどこですか。元のスクリプトはインポートするものを知っていますか?モジュールはファイル名で認識され、変数sys.path
で定義されたパスを調べます。
ファイルの名前を変更してから、oldname.pyc
を削除して、すべてが正しく機能することを確認してください。
あなたが本当に文で「インポートNEWNAME」で「oldname.py」ファイルをインポートしたい場合は、それを可能にするトリックがあります:sys.modules
に注入、その後、どこか古い名前のモジュールをインポート新しい名前で後続のインポートステートメントでも、新しい名前でそのステートメントが検索されます。コードサンプル:
# this is in file 'oldname.py'
...module code...
使用法:今すぐ
# inject the 'oldname' module with a new name
import oldname
import sys
sys.modules['newname'] = oldname
することができますどこでもimport newname
であなたのモジュール。
私はそれをしたいと思う状況を考えることができませんが、それはあなたができることを涼しいです:) – technomalogical
一つの状況:あなたがPython 2.6と2.7の両方との互換性を望むが、いくつかの新しい2.7ユニットテスト機能。このトリックでは、新しい機能を使用している間にコードを 'import unittest 'を使用するだけで済むので、Pythonのバージョンを切り替えるたびにimportステートメントを変更する必要はありませんでした。 – Tobi
あなたはとして使用することにより、インポート時にモジュールに使用される名前を変更することができます。
import foo as bar
print bar.baz
あなたがimport module_name
を行うとPythonインタプリタは、PYTHONPATH内のファイルmodule_name
.extension
を探します。したがって、ファイルの名前を変更することなく、その名前を変更する必要はありません。しかし、もちろん、あなたが行うことができます。
import module_name as new_module_name
あるいは
import module_name.submodule.subsubmodule as short_name
便利です例えば。 DBコードを書くためのものです。
import sqlite3 as sql
sql.whatever..
次に切り替えます。 sqlite3
〜pysqlite
インポートラインを変更するだけです
私はbsddbでこのような問題が発生しました。私はbsddb3モジュールをインストールする必要がありましたが、何百ものスクリプトがbsddbをインポートしました。すべてのインポートを変更する代わりに、bsddb3 eggを抽出し、site-packagesディレクトリにソフトリンクを作成して、 "bsddb"と "bsddb3"の両方を同じものにするようにしました。
- 1. PythonのWMIモジュールでコンピュータ名を変更するには
- 2. モジュール名を変更する
- 3. Python、モジュール変数の変更をスクリプトにバインドする方法は?
- 4. Python別のモジュールのモジュール変数を変更する
- 5. デフォルトフォントを変更せずにフォント名を変更するpython
- 6. PythonのModelSerializer変更名は "@"
- 7. 変更名:Pythonの
- 8. 名前を変更せずにモジュール全体をインポートする
- 9. レンダリング機能でモジュール名を動的に変更する方法
- 10. Pythonのディレクトリ名を変更する
- 11. Bluetooth名を変更Python
- 12. pythonのキー値の名前を変更するには
- 13. pythonでフォルダ名を変更するには?
- 14. Python CGI filedownload名の変更
- 15. Pythonメソッド名の変更
- 16. 変更ラベル名のPython
- 17. PythonモジュールをDLLファイルに変換する
- 18. フォルダをPythonのモジュールに変換する
- 19. IntelliJ IDEAのモジュールの名前を変更する
- 20. 名前の変更マルチインデックス列名のPython
- 21. 引数を変更するPythonの拡張モジュールを書く
- 22. Pythonに存在するファイルの名前を変更する
- 23. Python:サブパッケージと同じ名前のモジュールをインポートするには?
- 24. Python/SPSS変数名の変更
- 25. モジュール名が変数にある場合にモジュールを実行
- 26. Pythonでファイルの名前を変更する方法は?
- 27. pythonでデータフレームのファイル名を変更する方法は?
- 28. 署名IDを変更するには?
- 29. Nightwatchテストスイート名を変更するには?
- 30. WPRトレースファイル名を変更するには?
ファイルの名前を変更する際の問題点は何ですか?なぜ仕事の名前を変更しませんか? –
実際には、それはちょうど怠惰でした...私は、Launchpadでファイルを削除して再度追加したくありませんでした。 – Rodrigo