Python: Comment créer un dictionnaire à partir d'un fichier de propriétés tout en omettant les commentaires

J'ai cherché la réponse à cette ici pendant un certain temps et n'ont pas trouvé, donc espérons que ce n'est pas dupe.

J'ai un fichier de propriétés qui contient surtout des paires valeur /clé, mais contient également des commentaires. J'ai besoin de le mettre dans un dictionnaire si je peux récupérer les valeurs à volonté. Dans un fichier, sans commentaires, le suivant fonctionne parfaitement.

myprops = dict(line.strip().split('=') for line in open('/Path/filename.properties'))
print myprops['key']

Mais pas quand il y a des commentaires présents. Si il y a #comment présent, dictionnaire dit

"ValueError: dictionary update sequence element #x has length 1, 2 is required"

J'ai essayé d'emballage le dictionnaire de la création dans des conditions avec

if not line.startswith('#'):

Mais je n'arrive pas à obtenir que cela fonctionne. Des Suggestions? Merci!

  • Donc, pour être clair, vous avez essayé de dict(line.strip().split('=') for line in open('/Path/filename.properties') if not line.startswith('#'))?
  • Je n'essayais pas tout à fait de cette façon et qui ne fonctionne pas. merci!!!!
  • J'ai peut-être parlé trop vite. J'avais supposé que l'erreur était sur le compte de juste les lignes commentées. Il y a des lignes vides ainsi. Et Ça donne le même message d'erreur sur ceux-ci. J'ai pensé line.strip() allait sauter toutes les lignes vides.
InformationsquelleAutor fbonds66 | 2013-11-05