We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2c5c2db commit 686a5aaCopy full SHA for 686a5aa
python-async-iterators/async_csv.py
@@ -7,20 +7,20 @@
7
class AsyncCSVIterator:
8
def __init__(self, path):
9
self.path = path
10
- self.file = None
+ self.file_was_read = False
11
12
def __aiter__(self):
13
return self
14
15
async def __anext__(self):
16
- if self.file is None:
17
- self.file = await aiofiles.open(self.path, mode="r")
18
- lines = await self.file.readlines()
19
- self.reader = csv.reader(lines)
+ if not self.file_was_read:
+ async with aiofiles.open(self.path, mode="r") as file:
+ lines = await file.readlines()
+ self.reader = csv.reader(lines)
20
+ self.file_was_read = True
21
try:
22
return next(self.reader)
23
except StopIteration:
- await self.file.close()
24
raise StopAsyncIteration
25
26
0 commit comments