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



     
     
  • 相关阅读:
    [python]python学习笔记(七)——加密
    Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音 .
    Android 关于汉字转拼音的工具类Pinyin4jUtil 的使用说明
    20条技巧,让Chrome超越Firefox
    Android 内存优化
    WebView详解
    Android 获取手机通讯录信息 — 姓名和号码
    Android 获取手机通讯录信息 — 头像、姓名和A-Z的快速查询
    Android 快速开发框架AFinal
    Android 滑动改变视频音量和视频缩略图
  • 原文地址:https://www.cnblogs.com/kaisne/p/biplist.html
Copyright © 2011-2022 走看看