bpo-39916: Use os.scandir() as context manager in Path.glob(). (GH-18880)

(cherry picked from commit 704e2065f8)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
Miss Islington (bot) 2020-03-11 10:07:04 -07:00 committed by GitHub
parent 17571c54e0
commit c22879914b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View File

@ -527,7 +527,8 @@ class _WildcardSelector(_Selector):
def _select_from(self, parent_path, is_dir, exists, scandir):
try:
entries = list(scandir(parent_path))
with scandir(parent_path) as scandir_it:
entries = list(scandir_it)
for entry in entries:
if self.dironly:
try:
@ -557,7 +558,8 @@ class _RecursiveWildcardSelector(_Selector):
def _iterate_directories(self, parent_path, is_dir, scandir):
yield parent_path
try:
entries = list(scandir(parent_path))
with scandir(parent_path) as scandir_it:
entries = list(scandir_it)
for entry in entries:
entry_is_dir = False
try:

View File

@ -0,0 +1,2 @@
More reliable use of ``os.scandir()`` in ``Path.glob()``. It no longer emits
a ResourceWarning when interrupted.