第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何在當(dāng)前python會話中保存所有變量?

如何在當(dāng)前python會話中保存所有變量?

達(dá)令說 2019-11-25 10:26:07
我想將所有變量保存在當(dāng)前的python環(huán)境中。似乎一種選擇是使用“棘手”模塊。但是,我不想這樣做有兩個(gè)原因:1)我必須為每個(gè)變量調(diào)用pickle.dump()2)當(dāng)我想檢索變量時(shí),必須記住保存變量的順序,然后執(zhí)行pickle.load()來檢索每個(gè)變量。我正在尋找可以保存整個(gè)會話的命令,以便在加載此保存的會話時(shí),將還原所有變量。這可能嗎?非常感謝!高拉夫編輯:我想我不介意為每個(gè)要保存的變量調(diào)用pickle.dump(),但是記住保存變量的確切順序似乎是一個(gè)很大的限制。我想避免這種情況。
查看完整描述

3 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果使用shelve,則不必記住對象的腌制順序,因?yàn)閟helve它為您提供了類似字典的對象:


擱置您的工作:


import shelve


T='Hiya'

val=[1,2,3]


filename='/tmp/shelve.out'

my_shelf = shelve.open(filename,'n') # 'n' for new


for key in dir():

    try:

        my_shelf[key] = globals()[key]

    except TypeError:

        #

        # __builtins__, my_shelf, and imported modules can not be shelved.

        #

        print('ERROR shelving: {0}'.format(key))

my_shelf.close()

恢復(fù):


my_shelf = shelve.open(filename)

for key in my_shelf:

    globals()[key]=my_shelf[key]

my_shelf.close()


print(T)

# Hiya

print(val)

# [1, 2, 3]


查看完整回答
反對 回復(fù) 2019-11-25
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

坐在這里并未能將其另存globals()為字典,我發(fā)現(xiàn)您可以使用蒔蘿庫對會話進(jìn)行腌制。


可以使用以下方法完成:


import dill                            #pip install dill --user

filename = 'globalsave.pkl'

dill.dump_session(filename)


# and to load the session again:

dill.load_session(filename)


查看完整回答
反對 回復(fù) 2019-11-25
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

這是使用spyderlib函數(shù)保存Spyder工作區(qū)變量的方法


#%%  Load data from .spydata file

from spyderlib.utils.iofuncs import load_dictionary


globals().update(load_dictionary(fpath)[0])

data = load_dictionary(fpath)




#%% Save data to .spydata file

from spyderlib.utils.iofuncs import save_dictionary

def variablesfilter(d):

    from spyderlib.widgets.dicteditorutils import globalsfilter

    from spyderlib.plugins.variableexplorer import VariableExplorer

    from spyderlib.baseconfig import get_conf_path, get_supported_types


    data = globals()

    settings = VariableExplorer.get_settings()


    get_supported_types()

    data = globalsfilter(data,                   

                         check_all=True,

                         filters=tuple(get_supported_types()['picklable']),

                         exclude_private=settings['exclude_private'],

                         exclude_uppercase=settings['exclude_uppercase'],

                         exclude_capitalized=settings['exclude_capitalized'],

                         exclude_unsupported=settings['exclude_unsupported'],

                         excluded_names=settings['excluded_names']+['settings','In'])

    return data


def saveglobals(filename):

    data = globalsfiltered()

    save_dictionary(data,filename)



#%%


savepath = 'test.spydata'


saveglobals(savepath) 

請讓我知道這對你有沒有用。大衛(wèi)·BH


查看完整回答
反對 回復(fù) 2019-11-25
  • 3 回答
  • 0 關(guān)注
  • 2475 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號