Object persistence

The text file will be stored with the object

scores = [88,99,77,55]

def write_scores():
    with open('data.list.txt','w',encoding='utf8') as f:
        f.write(str(scores))
    print('文件写入完成...')

if __name__ == '__main__':
    write_scores()
scores = [88,99,77,55]

def write_scores():
    with open('data_list.txt','w',encoding='utf8') as f:
        f.write(str(scores))
    print('文件写入完成...')

def read_scores():
    with open('data_list.txt','r',encoding='utf8')as f:
        lst = eval(f.read())

    lst[0] = 99
    print(lst)

if __name__ == '__main__':
    read_scores()

  

import pickle
person = {'name':'Tom','age':20}
s = pickle.dumps(person)
s
Out[5]: b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x03\x00\x00\x00Tomq\x02X\x03\x00\x00\x00ageq\x03K\x14u.'
p = pickle.loads(s)
p
Out[7]: {'name': 'Tom', 'age': 20}
type(p)
Out[8]: dict
person
Out[9]: {'name': 'Tom', 'age': 20}
pickle.dump(person,open('pickle.db','wb'))
p = pickle.load(open('pickle.db','rb'))
p
Out[12]: {'name': 'Tom', 'age': 20}
type(p)
Out[13]: dict

 

Serialization custom class instances

shelve application

import shelve

class Student:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def __str__(self):
        return self.name

def write_shelve():
    s = Student('Tom',20)
    db = shelve.open('shelve_student_db')
    db['s'] = s
    db.close()


if __name__ == '__main__':
  write_shelve()

 

 

 

Out[13]: dict
ord('A')
Out[14]: 65
chr(184)
Out[15]: '¸'
chr(282)
Out[16]: 'Ě'
chr(65)
Out[17]: 'A'
ord('优')
Out[18]: 20248
chr(28249)
Out[19]: '湙'

  

s1 = 'ABCD'
s1.encode('ASCII')
Out[21]: b'ABCD'
s2 = '优品课堂'
type(s2)
Out[23]: str
s2.encode('UTF-8')
Out[24]: b'\xe4\xbc\x98\xe5\x93\x81\xe8\xaf\xbe\xe5\xa0\x82'
s2.encode('UTF-16')
Out[25]: b'\xff\xfe\x18O\xc1T\xfe\x8b\x02X'
b1 = b'\xe4\xbc\x98\xe5\x93\x81\xe8\xaf\xbe\xe5\xa0\x82'
type(b1)
Out[27]: bytes
b1.decode('utf-8')
Out[28]: '优品课堂'
b1.decode('utf-16')
Out[29]: '볤\ue598膓꿨\ue5be芠'
b1.decode('utf-8')
Out[30]: '优品课堂'
s1
Out[31]: 'ABCD'
s2
Out[32]: '优品课堂'
s1.encode()
Out[33]: b'ABCD'
import sys
sys.getdefaultencoding()
Out[35]: 'utf-8'

 

open('data,txt','w',encoding='utf8').write('优品课堂')
Out[2]: 4
open('data.txt','w',encoding='utf8').write('优品课堂')
Out[4]: 4
open('data.txt','r',encoding='utf8').read()
Out[5]: '优品课堂'
open('data2.txt','w').write('优品课堂')
Out[6]: 4
open('data2.txt','r',encoding='gbk').read()
Out[7]: '优品课堂'

 

 

Guess you like

Origin www.cnblogs.com/shirleysu90/p/12051374.html