En http://docs.python.org/library/json.html:Qu'est-ce qu'un objet similaire à un fichier dans Python?
simplejson.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, use_decimal[, **kw]]]]]]]]])
Deserialize fp (un .read() - support d'objet comme fichier contenant un document JSON) à un objet Python.
Je sais ce que font read()
et write()
. Mais après avoir lu cette description "read() - supportant l'objet de type fichier", je trouve que je ne sais pas quel type d'objet supporte les read()
et write()
.
Et je ne trouve pas cela dans le reste de la documentation. Quelqu'un pourrait-il en dire plus sur la déclaration? Pourquoi je pose cette question est pour obtenir "simplejson.load (urllib.open (...))" fait.
La valeur de retour de "urllib.open (...)" n'est pas un objet valide, donc je dois l'adapter pour simplejson. Cependant, il semble que cette chaîne n'est pas read() - support.
Eh bien, vous avez répondu à votre question vous: vraiment _any_ objet qui prend en charge les invocations appropriées de lecture soit(), write(), ou les deux, est considéré comme un objet de type fichier. Il peut vraiment être n'importe quel objet que vous aimez - la joie de taper du canard. –
Je ne pense pas qu'il existe une norme officielle. La plupart des interfaces doivent spécifier exactement les fonctionnalités dont elles ont besoin. Si vous voulez savoir si quelque chose d'autre prend en charge ce qui est nécessaire, vous devrez regarder les docs pour cela ou lire son code source. – martineau
Merci à vous deux :) –