7

私のコードが信頼できないサードパーティのモジュールを使用している場合、次のような状況を防ぐものはありますか:

UntrustedModule.py:

import random

random.random = lambda : 4

MyModule.py:

import random
import UntrustedModule

print (random.random())

このモジュールをインポートするだけで、他の無関係なものについての仮定が壊れる場所はどこですか?

4

3 に答える 3

-1

Python は、最初にローカル パス (スクリプトが実行されたディレクトリ) を検索し、次に PYTHONPATH 環境変数にリストされているパスを検索する順序でインポートします。

より良い解決策は、信頼されていないモジュールに対して検査してテストを作成することです。

于 2013-03-13T12:43:44.650 に答える
-1

あなたはすることができます

reload(random)

ソースからリロードするため。意図したとおりに復元すること。

于 2013-03-13T12:36:19.623 に答える