Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
deb4da50
Commit
deb4da50
authored
20 years ago
by
Raymond Hettinger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add missing docstrings.
parent
0e91643b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
67 additions
and
0 deletions
+67
-0
Lib/StringIO.py
Lib/StringIO.py
+67
-0
No files found.
Lib/StringIO.py
View file @
deb4da50
...
...
@@ -66,6 +66,12 @@ class StringIO:
return
self
def
next
(
self
):
"""A file object is its own iterator, for example iter(f) returns f
(unless f is closed). When a file is used as an iterator, typically
in a for loop (for example, for line in f: print line), the next()
method is called repeatedly. This method returns the next input line,
or raises StopIteration when EOF is hit.
"""
if
self
.
closed
:
raise
StopIteration
r
=
self
.
readline
()
...
...
@@ -81,10 +87,21 @@ class StringIO:
del
self
.
buf
,
self
.
pos
def
isatty
(
self
):
"""Returns False because StringIO objects are not connected to a
tty-like device.
"""
_complain_ifclosed
(
self
.
closed
)
return
False
def
seek
(
self
,
pos
,
mode
=
0
):
"""Set the file's current position.
The mode argument is optional and defaults to 0 (absolute file
positioning); other values are 1 (seek relative to the current
position) and 2 (seek relative to the file's end).
There is no return value.
"""
_complain_ifclosed
(
self
.
closed
)
if
self
.
buflist
:
self
.
buf
+=
''
.
join
(
self
.
buflist
)
...
...
@@ -96,10 +113,18 @@ class StringIO:
self
.
pos
=
max
(
0
,
pos
)
def
tell
(
self
):
"""Return the file's current position."""
_complain_ifclosed
(
self
.
closed
)
return
self
.
pos
def
read
(
self
,
n
=
-
1
):
"""Read at most size bytes from the file
(less if the read hits EOF before obtaining size bytes).
If the size argument is negative or omitted, read all data until EOF
is reached. The bytes are returned as a string object. An empty
string is returned when EOF is encountered immediately.
"""
_complain_ifclosed
(
self
.
closed
)
if
self
.
buflist
:
self
.
buf
+=
''
.
join
(
self
.
buflist
)
...
...
@@ -113,6 +138,18 @@ class StringIO:
return
r
def
readline
(
self
,
length
=
None
):
"""Read one entire line from the file.
A trailing newline character is kept in the string (but may be absent
when a file ends with an incomplete line). If the size argument is
present and non-negative, it is a maximum byte count (including the
trailing newline) and an incomplete line may be returned.
An empty string is returned only when EOF is encountered immediately.
Note: Unlike stdio's fgets(), the returned string contains null
characters ('
\
0
') if they occurred in the input.
"""
_complain_ifclosed
(
self
.
closed
)
if
self
.
buflist
:
self
.
buf
+=
''
.
join
(
self
.
buflist
)
...
...
@@ -130,6 +167,13 @@ class StringIO:
return
r
def
readlines
(
self
,
sizehint
=
0
):
"""Read until EOF using readline() and return a list containing the
lines thus read.
If the optional sizehint argument is present, instead of reading up
to EOF, whole lines totalling approximately sizehint bytes (or more
to accommodate a final whole line).
"""
total
=
0
lines
=
[]
line
=
self
.
readline
()
...
...
@@ -142,6 +186,16 @@ class StringIO:
return
lines
def
truncate
(
self
,
size
=
None
):
"""Truncate the file's size.
If the optional size argument is present, the file is truncated to
(at most) that size. The size defaults to the current position.
The current file position is not changed unless the position
is beyond the new file size.
If the specified size exceeds the file's current size, the
file remains unchanged.
"""
_complain_ifclosed
(
self
.
closed
)
if
size
is
None
:
size
=
self
.
pos
...
...
@@ -152,6 +206,10 @@ class StringIO:
self
.
buf
=
self
.
getvalue
()[:
size
]
def
write
(
self
,
s
):
"""Write a string to the file.
There is no return value.
"""
_complain_ifclosed
(
self
.
closed
)
if
not
s
:
return
# Force s to be a string or unicode
...
...
@@ -179,11 +237,20 @@ class StringIO:
self
.
pos
=
newpos
def
writelines
(
self
,
iterable
):
"""Write a sequence of strings to the file. The sequence can be any
iterable object producing strings, typically a list of strings. There
is no return value.
(The name is intended to match readlines(); writelines() does not add
line separators.)
"""
write
=
self
.
write
for
line
in
iterable
:
write
(
line
)
def
flush
(
self
):
"""Flush the internal buffer
"""
_complain_ifclosed
(
self
.
closed
)
def
getvalue
(
self
):
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment