• 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中查看源码方式),但是数据本身格式是正常。不知到有朋友可以解释吗。



     
     
  • 相关阅读:
    MySQL 元数据
    MySQL 复制表
    MySQL 临时表
    MySQL 索引
    MySQL ALTER
    MySQL 事务
    MySQL 正则表达式
    Mysql Join
    Python(数据库之表操作)
    Python知识点复习之__call__
  • 原文地址:https://www.cnblogs.com/kaisne/p/biplist.html
Copyright © 2020-2023  润新知