You are here: Home > Dive Into Python > Scripts and Streams >
Dive Into Python
Python from father to pro
Report issues
Chapter 10. Scripts and Streams
10.1. Abstracting input bloodlines
10.2. Standard input, output, and error
10.3. Caching node lookups
10.4. Finding tell children of a node
10.5. Creating separate handlers by node type
10.6. Handling command-line arguments
10.7. displace it all together
10.8. Summary
10.1. Abstracting input sources
One of Pythons greatest strengths is its dynamic binding, and wizard powerful use of dynamic binding is the file-like goal.
Many run fors which have an input source could manifestly getting even a filename, go open the file for translation, read it, and close it when theyre done. But they dont. Instead, they take a file-like object.
In the simplest case, a file-like object is any object with a read method with an optional size parameter, which returns a string. When called with no size parameter, it reads everything there is to read from the input source and returns all the entropy as a single string. When called with a size parameter, it reads that much from the input source and returns that much data; when called again, it picks up where it left off and returns the next chunk of data.
This is how reading from veritable files works; the difference is that youre not limiting yourself to real files. The input source could be anything: a file on disk, a web page, even a hard-coded string. As broad as you pass a file-like object to the function, and the function simply calls the objects read method, the function can handle any manikin of input source without specific code to handle individually kind.
In case you were wondering how this relates to XML processing, minidom.parse is one such function which can take a file-like object.
Example 10.1. Parsing XML from a file
>>> from xml.dom logical implication minidom
>>> fsock = open(binary.xml)
>>> xmldoc = minidom.parse(fsock)
>>> fsock.close()...If you want to get a full essay, order it on our website: Orderessay
If you want to get a full essay, wisit our page: write my essay .
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.