私は非常に基本的な問題を抱えていますが、Python 学習者として何時間も苦労してきました。これまでのところ、ドキュメントは私に答えを提供していません。
問題は、このモジュールを Python スクリプトからインポートするときに、モジュールに含まれるインポート ステートメントが実行されないように見えることです。私が持っているものは次のとおりです。
次のようなファイル project.py (つまり、python ライブラリ) があります。
import datetime
class Project:
""" This class is a container for project data """
title = ""
manager = ""
date = datetime.datetime.min
def __init__( self, title="", manager="", date=datetime.datetime.min ):
""" Init function with some defaults """
self.title = title
self.manager = manager
self.date = date
このライブラリは、後でfile.py
プロジェクトをインポートするスクリプト ( ) で使用され、次のように始まります。
import project
print datetime.datetime.min
このスクリプトを Python で実行しようとすると、問題が発生しfile.py
ます。次に、Python は次の NameError で文句を言います。
Traceback (most recent call last):
File "file.py", line 3, in <module>
print datetime.datetime.min
NameError: name 'datetime' is not defined
これは、Python シェルから直接同じステートメント ( import
and )を作成しようとした場合にも実際に発生します。print
datetime
モジュールは、呼び出した瞬間に自動的にインポートされるべきではありませんimport project
か?
よろしくお願いします。