【发布时间】:2019-12-23 20:53:29
【问题描述】:
据我了解,当您从另一个脚本导入要运行的脚本时,导入将延续到新脚本。 IE。我在下面的脚本中导入pandas,现在pandas已经导入到新脚本中了,所以我不再需要在新脚本中写“import pandas as pd”了。
我知道有这个答案:Do a python module's imports need to be carried over when importing that module?,但这似乎是在讨论自定义导入(例如来自 app-helper)。我正在讨论更通用的导入,例如 os、pandas、numpy、time、sys 等。
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
import time
import sys
if input('Will you be using the free or bound state peaks? (Type in "Free" or "Bound")\n').lower() != 'free':
import slow_exchange_bound
sys.exit()
#rest of the script
不过,基于上述脚本,如果我的 slow_exchange_bound 脚本中没有所有导入行,则它无法正常运行(即在 slow_exchange_bound 中,我必须重新输入 import os、import pandas 等)
【问题讨论】:
-
您所说的“自定义导入”和“常规导入”没有区别。每个模块只导入一次,但它不能自动在所有模块的本地命名空间中使用(你所说的“脚本”也是一个错误的名称)。所以,你应该在任何你想使用 pandas 的地方写上“import pandas”。
标签: python