4

blah.time通常の時刻と日付の操作について、いくつかの健全性チェックとラッパー関数を実行するモジュールがあります。

import time

def sleep(n):
    time.sleep(n)

を呼び出すとsleep、最大再帰エラーがスローされます。名前空間が間違っていると思いますので、 を使用してみimport time as _timeましたが、それでも同じエラーが発生します。

timeこの名前空間の競合を防ぐために、自分のモジュール内からシステム モジュールを参照するにはどうすればよいですか?

4

3 に答える 3

14

ファイルの最初の行として追加from __future__ import absolute_importします。

これにより、すべてのインポートが相対的ではなく絶対的になります。したがってimport time、標準モジュールをインポートして、使用するローカルモジュールをインポートしますfrom . import foobar

于 2012-10-04T19:51:23.077 に答える
3

http://docs.python.org/whatsnew/2.5.html#pep-328-absolute-and-relative-importsを読んでから、を使用しますfrom __future__ import absolute_import

HTH

于 2012-10-04T19:51:56.277 に答える
0

何が起こっているかというと、timeモジュールがシステムtimeモジュールをシャドーイングしているということです。この問題を回避する最も簡単な方法は、モジュールの名前を 以外の名前に変更することですtime

于 2012-10-04T20:00:28.333 に答える