プログラムを再起動せずに手動でインポートを保持するにはどうすればよいですか?
私はこれを試しました:
class runProgram:
def cmdEval(self,data):
try:
return str(repr(eval(data)))
except Exception as e:
return e
def cmdImport(self,data):
try:
__import__(data)
return "Imported."
except:
return "Error to import"
def run(self):
while True:
command = input("Command: ")
command,data = command.split(" ",1)
if command == "ev": print(self.cmdEval(data))
elif command == "imp": print(self.cmdImport(data))
次に、次のことを行いました。
>>> runProgram().run()
Command: imp time
Imported.
Command: ev time.time()
name 'time' is not defined
結果はうまくいきませんでしたが、データを保存せずに動的にインポートすることはできませんか? つまり、それを使用できるようにしたいのですが、再起動した後は使いたくありません。その特定のセッションのために何かをインポートする必要がある場合に備えて、そこに持っておきたいだけです。たとえば、これは望ましい結果です私が欲しい、
imp time
ev time.time()
>1383535034.20894
>>> ================================ RESTART ================================
>>> time.time()
Traceback (most recent call last):
File "<pyshell#238>", line 1, in <module>
time.time()
NameError: name 'time' is not defined
これは可能ですか?