##// END OF EJS Templates
Add docstrings for read_py_file and read_py_url.
Thomas Kluyver -
Show More
@@ -139,7 +139,22 b' def strip_encoding_cookie(filelike):'
139 139 for line in it:
140 140 yield line
141 141
142 def read_py_file(filename, errors='replace', skip_encoding_cookie=True):
142 def read_py_file(filename, skip_encoding_cookie=True):
143 """Read a Python file, using the encoding declared inside the file.
144
145 Parameters
146 ----------
147 filename : str
148 The path to the file to read.
149 skip_encoding_cookie : bool
150 If True (the default), and the encoding declaration is found in the first
151 two lines, that line will be excluded from the output - compiling a
152 unicode string with an encoding declaration is a SyntaxError in Python 2.
153
154 Returns
155 -------
156 A unicode string containing the contents of the file.
157 """
143 158 with open(filename) as f: # the open function defined in this module.
144 159 if skip_encoding_cookie:
145 160 return "".join(strip_encoding_cookie(f))
@@ -147,8 +162,23 b" def read_py_file(filename, errors='replace', skip_encoding_cookie=True):"
147 162 return f.read()
148 163
149 164 def read_py_url(url, errors='replace', skip_encoding_cookie=True):
150 """Open a URL to a raw Python file, using the encoding detected by
151 detect_encoding().
165 """Read a Python file from a URL, using the encoding declared inside the file.
166
167 Parameters
168 ----------
169 url : str
170 The URL from which to fetch the file.
171 errors : str
172 How to handle decoding errors in the file. Options are the same as for
173 bytes.decode(), but here 'replace' is the default.
174 skip_encoding_cookie : bool
175 If True (the default), and the encoding declaration is found in the first
176 two lines, that line will be excluded from the output - compiling a
177 unicode string with an encoding declaration is a SyntaxError in Python 2.
178
179 Returns
180 -------
181 A unicode string containing the contents of the file.
152 182 """
153 183 response = urllib.urlopen(url)
154 184 buffer = io.BytesIO(response.read())
General Comments 0
You need to be logged in to leave comments. Login now