Commit 718ab66
authored
Add `pathlib.Path.info` attribute, which stores an object implementing the `pathlib.types.PathInfo` protocol (also new). The object supports querying the file type and internally caching `os.stat()` results. Path objects generated by `Path.iterdir()` are initialised with status information from `os.DirEntry` objects, which is gleaned from scanning the parent directory.
The `PathInfo` protocol has four methods: `exists()`, `is_dir()`, `is_file()` and `is_symlink()`.
1 parent a1417b2 commit 718ab66
File tree
10 files changed
+526
-101
lines changed- Doc
- library
- whatsnew
- Lib
- pathlib
- test/test_pathlib
- Misc/NEWS.d/next/Library
10 files changed
+526
-101
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1177 | 1177 | | |
1178 | 1178 | | |
1179 | 1179 | | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
1180 | 1212 | | |
1181 | 1213 | | |
1182 | 1214 | | |
| |||
1903 | 1935 | | |
1904 | 1936 | | |
1905 | 1937 | | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
620 | 629 | | |
621 | 630 | | |
622 | 631 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | | - | |
| 351 | + | |
352 | 352 | | |
353 | 353 | | |
354 | 354 | | |
| |||
425 | 425 | | |
426 | 426 | | |
427 | 427 | | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
| 428 | + | |
432 | 429 | | |
433 | 430 | | |
434 | 431 | | |
435 | | - | |
436 | | - | |
437 | | - | |
| 432 | + | |
| 433 | + | |
438 | 434 | | |
439 | 435 | | |
440 | 436 | | |
441 | 437 | | |
442 | 438 | | |
443 | 439 | | |
444 | | - | |
445 | 440 | | |
446 | 441 | | |
447 | 442 | | |
| |||
483 | 478 | | |
484 | 479 | | |
485 | 480 | | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | | - | |
| 481 | + | |
490 | 482 | | |
491 | 483 | | |
492 | 484 | | |
493 | | - | |
494 | | - | |
| 485 | + | |
495 | 486 | | |
496 | 487 | | |
497 | 488 | | |
| |||
500 | 491 | | |
501 | 492 | | |
502 | 493 | | |
503 | | - | |
504 | 494 | | |
505 | 495 | | |
506 | 496 | | |
| |||
528 | 518 | | |
529 | 519 | | |
530 | 520 | | |
531 | | - | |
532 | 521 | | |
533 | 522 | | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
534 | 531 | | |
535 | 532 | | |
536 | 533 | | |
| |||
544 | 541 | | |
545 | 542 | | |
546 | 543 | | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | 16 | | |
18 | 17 | | |
19 | | - | |
| 18 | + | |
20 | 19 | | |
21 | 20 | | |
22 | 21 | | |
| |||
76 | 75 | | |
77 | 76 | | |
78 | 77 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | 78 | | |
95 | 79 | | |
96 | 80 | | |
| |||
367 | 351 | | |
368 | 352 | | |
369 | 353 | | |
370 | | - | |
| 354 | + | |
371 | 355 | | |
372 | 356 | | |
373 | 357 | | |
| |||
388 | 372 | | |
389 | 373 | | |
390 | 374 | | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
391 | 383 | | |
392 | 384 | | |
393 | 385 | | |
394 | 386 | | |
395 | 387 | | |
396 | 388 | | |
397 | 389 | | |
398 | | - | |
| 390 | + | |
| 391 | + | |
399 | 392 | | |
400 | 393 | | |
401 | 394 | | |
402 | 395 | | |
403 | 396 | | |
404 | | - | |
| 397 | + | |
| 398 | + | |
405 | 399 | | |
406 | 400 | | |
407 | 401 | | |
408 | 402 | | |
409 | 403 | | |
410 | 404 | | |
411 | | - | |
| 405 | + | |
| 406 | + | |
412 | 407 | | |
413 | 408 | | |
414 | 409 | | |
415 | 410 | | |
416 | 411 | | |
417 | | - | |
| 412 | + | |
| 413 | + | |
418 | 414 | | |
419 | 415 | | |
420 | 416 | | |
| |||
437 | 433 | | |
438 | 434 | | |
439 | 435 | | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | 436 | | |
450 | 437 | | |
451 | 438 | | |
| |||
471 | 458 | | |
472 | 459 | | |
473 | 460 | | |
474 | | - | |
| 461 | + | |
475 | 462 | | |
476 | 463 | | |
477 | 464 | | |
| |||
498 | 485 | | |
499 | 486 | | |
500 | 487 | | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
513 | 498 | | |
514 | 499 | | |
515 | 500 | | |
| |||
0 commit comments