【发布时间】:2018-03-08 13:21:58
【问题描述】:
我有一个 Python 程序,它调用一个包含运行主程序的函数的外部文件。 (外部文件与主文件在同一目录下。)
这些函数需要调用库json和os;但是,如果我将 import json 或 import os 放在开头,则此文件不会加载这些库。
我必须把需要外部库的函数放在主文件中。
这是我的代码示例:
def acceder_archivos(param1,param2,param3):
while param3 == True:
if os.path.exists(param1) and os.path.exists(param2):
try:
obtener_sentimientos(param1,param2)
param3 = False #salimos del while.
print('existe:',param3)
except:
#manejar el error.
print('Error al abrir el archivo.')
else:
print('Por favor, introduzca el nombre de un fichero que ...")
param3 = False
file_sents,file_salida,existe = cargar_archivos()
acceder_archivos(file_sents,file_salida,existe)
在这段代码中,函数需要调用os 库,如果函数在主文件中,它就可以工作。但是如果这个函数在一个外部文件中,它就不会运行。
有什么解决办法吗?我没有找到任何答案。
非常感谢。
【问题讨论】:
-
您导入的文件应该完全能够自己导入文件。请提供一个minimal reproducible example 来证明您的问题。
-
谢谢你的回答,但没有运行;在写这个问题之前我试过了。该代码是完整的。您可以从另一个文件中调用它,并且您会从主文件中获得“NameError: name 'os' is not defined”。
-
我已经意识到如果我使用 Spyder 而不是 Jupyter,我导入的文件能够导入文件然后程序运行。我不明白为什么不在 Jupyter 中运行。