[Python-Dev] PEP 471 "scandir" accepted
Akira Li
4kir4.1i at gmail.com
Tue Jul 22 09:33:41 CEST 2014
More information about the Python-Dev mailing list
Tue Jul 22 09:33:41 CEST 2014
- Previous message: [Python-Dev] PEP 471 "scandir" accepted
- Next message: [Python-Dev] PEP 471 "scandir" accepted
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Ben Hoyt <benhoyt at gmail.com> writes: > I think if I were doing this from scratch I'd reimplement listdir() in > Python as "return [e.name for e in scandir(path)]". ... > So my basic plan is to have an internal helper function in > posixmodule.c that either yields DirEntry objects or strings. And then > listdir() would simply be defined something like "return > list(_scandir(path, yield_strings=True))" in C or in Python. > > My reasoning is that then there'll be much less (if any) code > duplication between scandir() and listdir(). > > Does this sound like a reasonable approach? Note: listdir() accepts an integer path (an open file descriptor that refers to a directory) that is passed to fdopendir() on POSIX [4] i.e., *you can't use scandir() to replace listdir() in this case* (as I've already mentioned in [1]). See the corresponding tests from [2]. [1] https://mail.python.org/pipermail/python-dev/2014-July/135296.html [2] https://mail.python.org/pipermail/python-dev/2014-June/135265.html >From os.listdir() docs [3]: > This function can also support specifying a file descriptor; the file > descriptor must refer to a directory. [3] https://docs.python.org/3.4/library/os.html#os.listdir [4] http://hg.python.org/cpython/file/3.4/Modules/posixmodule.c#l3736 -- Akira
- Previous message: [Python-Dev] PEP 471 "scandir" accepted
- Next message: [Python-Dev] PEP 471 "scandir" accepted
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list