• python .plist 文件读写


    在开发IOS下程序的时候因为常常使用plist(属性表文件)配置一些数据,当数据多的时候手工修改特定一项数值必然是一个枯燥无聊的体力活,下面介绍如何使用python读取plist文件并且进行修改保存的。

    1、安装 python下的plist库--biplist 和简单使用

    在终端下:

    applematoMacBook-Pro:~ apple$ sudo easy_install biplist 

    完成安装之后,编写简单写入plist和读取plist的文件代码

    1)写入一个plist

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    from biplist import *
    from datetime import datetime
    plist ={ 'aKey':'aValue',
    '0':1.322,
    'now':datetime.now(),
    'list':[1,2,3],
    'tuple':('a','b','c'),
    'dict':{'list':1234,'aKey':11111}    
    }
    
    try:
        writePlist(plist,"demo.plist")
    except (InvalidPlistException,NotBinaryPlistException), e:
        print "Something bad happened:",e
    else:
        pass
    finally:
        pass
    from biplist import *  #导入biplist库

    plist ={ 'aKey':'aValue', #构建下一个字典
    '0':1.322,
    'now':datetime.now(),
    'list':[1,2,3],
    'tuple':('a','b','c'),
    'dict':{'list':1234,'aKey':11111}    
    }  

    writePlist(plist,"demo.plist")#调用biplist的writePlist进行保存,对应plist保存在当前python脚本同一目录下.

    2)读取一个plist
     1 #!usr/bin/python
     2 # -*- coding:utf-8 -*-
     3 from biplist import *
     4 
     5 try:
     6     plist = readPlist("demo.plist");
     7     print plist
     8     print plist['list'];
     9     dictlist=plist['dict'];
    10     print dictlist['aKey'];
    11     
    12 except InvalidPlistException, e:
    13     print "Not a Plist or Plist Invalid:",e
      plist = readPlist("demo.plist");#调用biplist库的readPlist函数,返回的是一个字典
      print plist['list']; #打印出list键对应的数组

     dictlist=plist['dict']; #获取dict对应的字典
    print dictlist['aKey']; #打印字典内的aKey数据
    2、修改plist

     1 #!usr/bin/python
     2 # -*- coding:utf-8 -*-
     3 from biplist import *
     4 
     5 try:
     6     plist = readPlist("demo.plist");
     7     print plist
     8     print plist['dict'];
     9     dictlist=plist['dict'];
    10     print dictlist['aKey'];
    11     
    12 except InvalidPlistException, e:
    13     print "Not a Plist or Plist Invalid:",e
    14 
    15 #修改plist
    16 dictlist['aKey']=33333;
    17 dictlist['list']=22222;
    18 
    19 try:
    20     writePlist(plist,"demo.plist")
    21 except (InvalidPlistException,NotBinaryPlistException), e:
    22     print "Something bad happened:",e
     #修改plist
    dictlist['aKey']=33333;
    dictlist['list']=22222;
    对指定的字典修改,然后保存。writePlist(plist,"demo.plist") 这时修改后plist会覆盖掉原有的那个demo.plist文件。

    3.疑问
    在使用biplist的过程中如果.plist中有中文时,修改后保存出现内容是乱码(XCode中查看源码方式),但是数据本身格式是正常。不知到有朋友可以解释吗。



     
     
  • 相关阅读:
    财富感悟:赚大钱的经典语录
    男人成为富翁必备五大特质
    上帝不会辜负每一个有梦的孩子(转)
    一百个绝佳句型
    欢迎光临腾飞品牌网和腾飞悬赏任务网
    金钱在哪里?财富就在你心里
    小本创业30条生意妙经
    告诉你钱途无量的六大创业领域
    告诉你一个简单、深刻的经商道理
    十二条创业经验:包你做梦都赚钱
  • 原文地址:https://www.cnblogs.com/kaisne/p/biplist.html
Copyright © 2020-2023  润新知