<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Mar 18, 2018 at 4:16 PM, George Fischhof <span dir="ltr"><<a href="mailto:george@fischhof.hu" target="_blank">george@fischhof.hu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Jason, <div><br></div><div>the status of os and shutil became this because of C functions in implementation (I got something similar answer before)</div><div>...</div><div><br></div><div>What do you think, what would be a good way to solve this</div><div>- add stuff from os to shutil</div><div>- add stuff from os and shutil to pathlib</div><div>- create a new module on top of os, shutil and pathlib (we could name it for example filelib </div></div></blockquote><div> </div><div>I'm pretty ignorant of the situation so my opinion probably isn't worth very much, but I'll give it a try ;)</div><div><br></div><div>If shutil is functioning as a high-level library, it makes sense to me to add the stuff from os to shutil. Then users can simply import shutil and know that they have all the functionality they need to work with files.</div><div><br></div><div>Someone said that pathlib's Paths work with the os module but not with shutil -- if os is the low-level module and shutil is the high-level, that seems a bit strange but I'm sure it made sense to do that. It seems to me that adding os functionality to shutil to make shutil "complete", and also modifying shutil functions to work with Path objects makes the most sense.</div><div><br></div><div>Once that's done, shutil will be _the_ high-level library for using file operations in python, with the option to use Path objects if you want (side note: I'm a big fan of the Path class!).</div><div><br></div><div>After that, it may make sense to add some (maybe all) of the methods in shutil to the pathlib module similar to how Path already implements some file operations (e.g. Path.glob and Path.unlink).</div><div><br></div><div>All of that seems like a three step process to me:</div><div>1) Add the missing methods from os <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">to shutil</span></div><div>2) Make the shutil methods work nicely with Path objects</div><div>3) Reevaluate and see what methods make sense to add to the pathlib module</div><div><br></div><div>As a user, I'd be thrilled with that setup.</div></div></div></div>