2015-03-10 2 views

ответ

0

Вы можете сделать Dict с ключами ALIST и Blist и сохранить его в AFile, как это:

import pickle 

aList = ['useless', 'info'] 
bList = [1000,5000] 

aFile=open('aFile.dat', 'w') 
aFile.write(pickle.dumps({"aList":aList,"bList":bList})) 
aFile.close() 

Если вы пустошь хотели добавить информацию, которую вы могли бы сделать что-то более подробно, как это:

import pickle 


def extract_dict(filename): 
    try: 
     oldInfoFile=open(filename, 'r') 
    except: 
     print "File could not be opened" 
     return {} 
    oldInfo=oldInfoFile.read() 
    oldInfoFile.close() 
    try: 
     oldDict=pickle.loads(oldInfo) 
    except AttributeError: 
     print "Non valid Pickle format" 
     return {} 
    return oldDict 

def append_dict(filename,more_info_dict): 
    myDict=extract_dict(filename) 
    myDict.update(more_info_dict) 
    aFile=open(filename, 'w') 
    aFile.write(pickle.dumps(myDict)) 
    aFile.close() 


#Testing what we have in aFile.dat 
print(extract_dict("aFile.dat")) 

aList = ['useless', 'info'] 
bList = [1000,5000] 
first_info={"aList":aList,"bList":bList} 

#Adding data to aFile.dat 
append_dict("aFile.dat",first_info) 

#Verifying data was written to aFile.dat 
print(extract_dict("aFile.dat")) 

second_info={"aList2":aList,"bList2":bList} 

#Writting more data  
append_dict("aFile.dat",second_info) 

#Verifying new data was written to aFile.dat 
print(extract_dict("aFile.dat")) 
+0

Мне это нравится. Если я хочу добавить его после того, как я его напишу, я просто заменю «w» на «a», правильно? –

+0

Кроме того, делает ли этот формат aFile доступным для печати объединенным списком? Это не важно, если это так, мне просто интересно. –

+0

Вы можете использовать 'a' для добавления дополнительной информации в файл. Однако, делая это, вы не сможете прочитать всю информацию. С другой стороны, вы можете прочитать информацию, хранящуюся в файле aFile.dat; добавьте новую информацию и перепишите информацию – dgsleeps

Смежные вопросы