
This is somewhere between a question and a proposal. I'm just trying to understand why Path objects use an explicit iterdir method. Why not make them iterable? -- Vamsi

On 26.02.17 15:39, Vamsi Krishna Avula wrote:
This is somewhere between a question and a proposal. I'm just trying to understand why Path objects use an explicit iterdir method. Why not make them iterable?
Because this is ambiguous. Iterating can mean many different things: 1. Iterate characters of string representation of the path (str(path)). 2. Iterate path components (path.parts). 3. Open a file and iterate its lines (path.open()). 4. Iterate files in the directory (path.iterdir()).

<devils-advocate> the same is true for files: Deciding to iterate them line-wise is relatively arbitrary, byte/char-wise would be equally intitive. So something could be chosen. </devils-advocate> But I think being explicit in the case of paths is really not that inconvenient. Serhiy Storchaka <storchaka@gmail.com> schrieb am So., 26. Feb. 2017 um 16:14 Uhr: On 26.02.17 15:39, Vamsi Krishna Avula wrote:
Because this is ambiguous. Iterating can mean many different things: 1. Iterate characters of string representation of the path (str(path)). 2. Iterate path components (path.parts). 3. Open a file and iterate its lines (path.open()). 4. Iterate files in the directory (path.iterdir()).

On 26.02.17 15:39, Vamsi Krishna Avula wrote:
This is somewhere between a question and a proposal. I'm just trying to understand why Path objects use an explicit iterdir method. Why not make them iterable?
Because this is ambiguous. Iterating can mean many different things: 1. Iterate characters of string representation of the path (str(path)). 2. Iterate path components (path.parts). 3. Open a file and iterate its lines (path.open()). 4. Iterate files in the directory (path.iterdir()).

<devils-advocate> the same is true for files: Deciding to iterate them line-wise is relatively arbitrary, byte/char-wise would be equally intitive. So something could be chosen. </devils-advocate> But I think being explicit in the case of paths is really not that inconvenient. Serhiy Storchaka <storchaka@gmail.com> schrieb am So., 26. Feb. 2017 um 16:14 Uhr: On 26.02.17 15:39, Vamsi Krishna Avula wrote:
Because this is ambiguous. Iterating can mean many different things: 1. Iterate characters of string representation of the path (str(path)). 2. Iterate path components (path.parts). 3. Open a file and iterate its lines (path.open()). 4. Iterate files in the directory (path.iterdir()).
participants (3)
-
Philipp A.
-
Serhiy Storchaka
-
Vamsi Krishna Avula