def LoadPlist(filename):
 data = None
 try:
  p = subprocess.Popen(['/usr/bin/plutil', '-convert', 'xml1', '-o', '-', filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  (out_data, err_data) = p.communicate()
 except IOError as e:
  print e
 if (p.returncode == 0):
  data = plistlib.readPlistFromString(out_data)
 return data

def LoadPlist ( filename ) : data = None try : p = subprocess . Popen ( [ '/usr/bin/plutil' , '-convert' , 'xml1' , '-o' , '-' , filename ] , stdout = subprocess . PIPE , stderr = subprocess . PIPE ) ( out_data , err_data ) = p . communicate ( ) except IOError as e : print e if ( p . returncode == 0 ) : data = plistlib . readPlistFromString ( out_data ) return data
plists can be read with plistlib .