zoukankan      html  css  js  c++  java
  • Python阶段复习

    1. 把一个数字的list从小到大排序,然后写入文件,然后从文件中读取出来文件内容,然后反序,在追加到文件的下一行中

    >>> import json
    >>> import codecs
    >>> 
    >>> a = [12,34,121,324,14,2,345,13,2,5,1,35,6,23,235,123,21232234]
    >>> a.sort()      # 原地排序
    >>> a
    [1, 2, 2, 5, 6, 12, 13, 14, 23, 34, 35, 121, 123, 235, 324, 345, 21232234]
    >>> with codecs.open('text.txt','w') as f:
    ...     f.write(json.dumps(a))      # 写入文件前的序列化
    ... 
    >>> with codecs.open('text.txt','r') as f:
    ...     b = json.loads(f.read())   # 读取并反序列化
    ... 
    >>> b
    [1, 2, 2, 5, 6, 12, 13, 14, 23, 34, 35, 121, 123, 235, 324, 345, 21232234]
    >>> b.reverse()    # 倒序排列
    >>> b
    [21232234, 345, 324, 235, 123, 121, 35, 34, 23, 14, 13, 12, 6, 5, 2, 2, 1]
    >>> with codecs.open('text.txt','a+') as f: 
    ...     f.write(json.dumps(b))    # 追加模式写入文件
    ... 

    2. 分别把 string, list, tuple, dict写入到文件中

      这里如果对tuple进行序列化的时候会出现一个问题,虽说json支持对tuple类型的数据进行序列化,但是,序列化完毕后变成了list,并且反序列化回来后依旧为list,元素类型都变为了unicode,所以这里如果为了还原tuple,那么最好使用pickle,当然如果和其他api进行交互,那么建议都使用dict这种形式

    >>> import codecs
    >>> import json
    >>> a = 'hello world'
    >>> b = ['hello','world']
    >>> c = ('hello','world')
    >>> d = {'hello':'world'}
    >>> with codecs.open('test.txt','w') as f:
    ...     f.write(json.dumps(a))
    ...     f.write(json.dumps(b))
    ...     f.write(pickle.dumps(c))
    ...     f.write(json.dumps(d))
    ... 
    

      

  • 相关阅读:
    557. Reverse Words in a String III
    14. Longest Common Prefix
    linux 修改系统时间 同步网络时间
    Django学习
    mysql操作
    mysql ,shell代码
    mysql学习
    Mac环境下mysql安装以及登录
    Mac自带Apache服务器的使用
    MongoDB连接数据库
  • 原文地址:https://www.cnblogs.com/dachenzi/p/7756704.html
Copyright © 2011-2022 走看看