<div dir="ltr"><br><br>Le mardi 8 juillet 2014, Ben Hoyt <<a href="mailto:benhoyt@gmail.com" target="_blank">benhoyt@gmail.com</a>> a écrit :<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<br>
> It is not clear to me which methods share the cache.<br>
><br>
> On UNIX, is_dir() and is_file() call os.stat(); whereas lstat() and<br>
> is_symlink() call os.lstat().<br>
><br>
> If os.stat() says that the file is not a symlink, I guess that you can<br>
> use os.stat() result for lstat() and is_symlink() methods?<br>
><br>
> In the worst case, if the path is a symlink, would it be possible that<br>
> os.stat() and os.lstat() become "inconsistent" if the symlink is<br>
> modified between the two calls? If yes, I don't think that it's an<br>
> issue, it's just good to know it.<br>
><br>
> For symlinks, readdir() returns the status of the linked file or of the symlink?<br>
<br>
I think you're misunderstanding is_dir() and is_file(), as these don't<br>
actually call os.stat(). All DirEntry methods either call nothing or<br>
os.lstat() to get the stat info on the entry itself (not the<br>
destination of the symlink).</blockquote><div><br></div><div>Oh. Extract of your PEP:<font><span style="background-color:rgba(255,255,255,0)"> "is_dir(): like os.path.isdir(), but much cheaper".</span></font></div>


<div><font><span style="background-color:rgba(255,255,255,0)"><br></span></font></div><div><font><span style="background-color:rgba(255,255,255,0)">genericpath.isdir() and </span></font><font><span style="background-color:rgba(255,255,255,0)"><font><span style="background-color:rgba(255,255,255,0)">genericpath.isfile() </span></font>use os.stat(), whereas posixpath.islink() uses os.lstat().<br>

<br></span></font></div><div><font><span style="background-color:rgba(255,255,255,0)">Is it a mistake in the PEP?<br><br>> </span></font> In light of this, I don't think what you're describing above is an issue.<br>

<br></div><div>I'm not saying that there is an issue, I'm just trying to understand.<br></div><div><font><span style="background-color:rgba(255,255,255,0)"><br></span></font></div><div><font><span style="background-color:rgba(255,255,255,0)">Victor<br>

</span></font></div>
</div>