On Nov 27, 2019, at 12:27, Abdur-Rahmaan Janhangeer <arj.pyt...@gmail.com> 
wrote:
> 
> Using 3.7, in json module of the std lib there is json.load and json.loads . 
> I gather json.loads is more used to convert string to dict structure.

Yes, loads is to load from a string; load is used to load from a file (or 
file-like object).

> json.load might cause (it already causes) confusions.

I’m curious what names you would use? Maybe load_string and load_file?

Anyway, more explicit names might have been better, but load/loads is so well 
established—across other document types, and third-party modules as well as 
stdlib, and so on—that changing it in just one module would cause a lot more 
confusion than it could possibly solve, and changing it everywhere isn’t 
feasible. Plus, there’s decades worth of working code using these names; 
breaking all that code requires a really big benefit.

Also, I think the other two quasi-standards out there for similar cases are 
much worse. Some modules have a single function that type-switches on string as 
contents vs. file, while others have a function that type-switches on string as 
pathname vs. file plus a separate fromstring function for parsing contents. 
That’s a lot more confusing. I frequently accidentally try to parse a pathname 
as an XML document, or to open a file using an XML document as a pathname, but 
I never make that mistake with JSON.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/F4UB5GKU7TN6LYUJAAPBC7WPUSUGGDDK/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to