Revision 0e5084ee lib/utils/io.py
b/lib/utils/io.py | ||
---|---|---|
38 | 38 |
_RANDOM_UUID_FILE = "/proc/sys/kernel/random/uuid" |
39 | 39 |
|
40 | 40 |
|
41 |
def ReadFile(file_name, size=-1): |
|
41 |
def ReadFile(file_name, size=-1, preread=None):
|
|
42 | 42 |
"""Reads a file. |
43 | 43 |
|
44 | 44 |
@type size: int |
45 | 45 |
@param size: Read at most size bytes (if negative, entire file) |
46 |
@type preread: callable receiving file handle as single parameter |
|
47 |
@param preread: Function called before file is read |
|
46 | 48 |
@rtype: str |
47 | 49 |
@return: the (possibly partial) content of the file |
48 | 50 |
|
49 | 51 |
""" |
50 | 52 |
f = open(file_name, "r") |
51 | 53 |
try: |
54 |
if preread: |
|
55 |
preread(f) |
|
56 |
|
|
52 | 57 |
return f.read(size) |
53 | 58 |
finally: |
54 | 59 |
f.close() |
Also available in: Unified diff