1

現在のディレクトリには、スクリプトと、内部にスクリプトをfoo1.py含む other という名前のディレクトリがあります。foo2.py

今:

インタープリターを起動し、使用してexecfile両方のスクリプトを起動できます。問題は、編集して保存するときにfoo1.py、インタープリターを再起動する必要がないということです。execfileもう一度実行すると、変更が加えられて実行されますが、同じことは では起こりませんfoo2.py。行った編集をfoo2.py有効にするには、インタープリターを終了して再起動する必要があります。保存した後でも、execfile('foo2.py')以前と同じスクリプトが実行されるためです...

互いに依存していることが多い複数のスクリプトを連続して編集および起動したかったので、これは面倒です...

foo2.py再起動せずに、インタープリターが への編集を認識できるようにするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

reload() 関数のドキュメントとそこに記載されている制限を見てください。Python のバージョンに応じて、異なるモジュールに配置されています。2.x の場合は事前定義されています。

于 2014-04-29T08:38:36.107 に答える
1

「最近の」Python を使用している場合は、Python 2.6、2.7、および 3.x と互換性のある次の構文を試すことができます。

with open('foo2.py') as file:
    exec(compile(file.read(), 'foo2.py', 'exec'))
于 2014-04-29T08:52:03.037 に答える