У меня есть файл следующим образом:Можно ли проверять глобальные переменные в IPython при запуске файла?
import pandas a pd
def a_func():
print 'doing stuff'
if __name__ == "__main__":
if 'data' not in globals():
print 'loading data...'
data = pd.read_csv('datafile.csv')
Когда я запускаю файл в IPython с run file.py
, он всегда загружает данные, но при печати globals.keys()
в IPython, я могу видеть переменную data
. Есть ли способ получить доступ к глобальным переменным из IPython из моего сценария file.py
, поэтому мне не нужно загружать данные каждый раз, когда я запускаю скрипт в IPython?
IPython обычно создает новое пространство имен для каждого файла '% run', а затем переносит переменные в ваше интерактивное пространство имен. Если вы действительно хотите запускать файлы непосредственно в интерактивном пространстве имен, '% run -i' сделает это. –