Repository navigation
Commit 951663a
authored
ARROW-13763: [Python] Close files in ParquetFile & ParquetDatasetPiece (#13821)
Will fix [ARROW-13763](https://issues.apache.org/jira/browse/ARROW-13763)
A separate Jira issue will be made to address closing files in V2 ParquetDataset, which needs to be handled in the C++ layer.
Adds context manager to `pq.ParquetFile` to close input file, and ensure reads within `pq.ParquetDataset` and `pq.read_table` are closed.
```python
# user opened file-like object will not be closed
with open('file.parquet', 'rb') as f:
with pq.ParquetFile(f) as p:
table = p.read()
assert not f.closed # did not inadvertently close the open file
assert not p.closed
assert not f.closed # parquet context exit didn't close it
assert not p.closed # references the input file status
assert f.closed # normal context exit close
assert p.closed # ...
# path-like will be closed upon exit or `ParquetFile.close`
with pq.ParquetFile('file.parquet') as p:
table = p.read()
assert not p.closed
assert p.closed
```
Authored-by: Miles Granger <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>1 parent b0422e5 commit 951663a
3 files changed
Lines changed: 90 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1159 | 1159 | | |
1160 | 1160 | | |
1161 | 1161 | | |
| 1162 | + | |
1162 | 1163 | | |
1163 | 1164 | | |
1164 | 1165 | | |
| |||
1175 | 1176 | | |
1176 | 1177 | | |
1177 | 1178 | | |
1178 | | - | |
1179 | 1179 | | |
1180 | 1180 | | |
1181 | 1181 | | |
| |||
1221 | 1221 | | |
1222 | 1222 | | |
1223 | 1223 | | |
| 1224 | + | |
1224 | 1225 | | |
1225 | | - | |
1226 | 1226 | | |
1227 | | - | |
| 1227 | + | |
1228 | 1228 | | |
1229 | 1229 | | |
1230 | 1230 | | |
| |||
1435 | 1435 | | |
1436 | 1436 | | |
1437 | 1437 | | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
1438 | 1451 | | |
1439 | 1452 | | |
1440 | 1453 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
| 297 | + | |
297 | 298 | | |
298 | 299 | | |
299 | 300 | | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
300 | 307 | | |
301 | 308 | | |
302 | 309 | | |
| |||
376 | 383 | | |
377 | 384 | | |
378 | 385 | | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
379 | 394 | | |
380 | 395 | | |
381 | 396 | | |
| |||
1129 | 1144 | | |
1130 | 1145 | | |
1131 | 1146 | | |
1132 | | - | |
1133 | | - | |
| 1147 | + | |
| 1148 | + | |
1134 | 1149 | | |
1135 | 1150 | | |
1136 | 1151 | | |
| |||
1204 | 1219 | | |
1205 | 1220 | | |
1206 | 1221 | | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
1207 | 1225 | | |
1208 | 1226 | | |
1209 | 1227 | | |
| |||
1890 | 1908 | | |
1891 | 1909 | | |
1892 | 1910 | | |
1893 | | - | |
| 1911 | + | |
| 1912 | + | |
1894 | 1913 | | |
1895 | 1914 | | |
1896 | 1915 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
277 | 278 | | |
278 | 279 | | |
279 | 280 | | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
0 commit comments