I added trio to the comparison table (Things are mostly just async-wrapped, though pathlib_not_trio does show a few missing methods?). https://github.com/westurner/pyfilemods/issues/2
https://github.com/westurner/pyfilemods/blob/master/README.rst#attr-table ================== == ======= ====== ======= ======= ==== attr os os.path shutil pathlib path.py trio ================== == ======= ====== ======= ======= ==== `__div__`_ X `__rdiv__`_ X `absolute`_ X X `abspath`_ X X `access`_ X X `altsep`_ X X `anchor`_ X `as_posix`_ X X `as_uri`_ X X `atime`_ X `basename`_ X X `bytes`_ X `capitalize`_ X `casefold`_ X `cd`_ X `center`_ X `chdir`_ X X `chmod`_ X X X X `chown`_ X X X `chroot`_ X X `chunks`_ X `commonpath`_ X `commonprefix`_ X `copy`_ X X `copy2`_ X X `copyfile`_ X X `copymode`_ X X `copystat`_ X X `copytree`_ X X `count`_ X `ctime`_ X `curdir`_ X X `cwd`_ X X `defpath`_ X X `devnull`_ X X `dirname`_ X X `dirs`_ X `drive`_ X X `encode`_ X `endswith`_ X `exists`_ X X X X `expand`_ X `expandtabs`_ X `expanduser`_ X X X X `expandvars`_ X X `ext`_ X `extsep`_ X X `files`_ X `find`_ X `fnmatch`_ X X `format`_ X `format_map`_ X `get_owner`_ X `getatime`_ X X `getctime`_ X X `getcwd`_ X X `getmtime`_ X X `getsize`_ X X `glob`_ X X X `group`_ X X `home`_ X X `in_place`_ X `index`_ X `is_absolute`_ X X `is_block_device`_ X X `is_char_device`_ X X `is_dir`_ X X `is_fifo`_ X X `is_file`_ X X `is_reserved`_ X X `is_socket`_ X X `is_symlink`_ X X `isabs`_ X X `isalnum`_ X `isalpha`_ X `isdecimal`_ X `isdigit`_ X `isdir`_ X X `isfile`_ X X `isidentifier`_ X `islink`_ X X `islower`_ X `ismount`_ X X `isnumeric`_ X `isprintable`_ X `isspace`_ X `istitle`_ X `isupper`_ X `iterdir`_ X X `join`_ X X `joinpath`_ X X X `lchmod`_ X X `lexists`_ X `lines`_ X `link`_ X X `listdir`_ X X `ljust`_ X `lower`_ X `lstat`_ X X X X `lstrip`_ X `makedirs`_ X X `makedirs_p`_ X `maketrans`_ X `match`_ X X `merge_tree`_ X `mkdir`_ X X X X `mkdir_p`_ X `module`_ X `move`_ X X `mtime`_ X `name`_ X X X `namebase`_ X `normcase`_ X X `normpath`_ X X `open`_ X X X X `os`_ X X `owner`_ X X X `pardir`_ X X `parent`_ X X `parents`_ X `partition`_ X `parts`_ X `pathconf`_ X X `pathsep`_ X X `read_bytes`_ X X `read_hash`_ X `read_hexhash`_ X `read_md5`_ X `read_text`_ X X `readlink`_ X X `readlinkabs`_ X `realpath`_ X X `relative_to`_ X X `relpath`_ X X `relpathto`_ X `remove`_ X X `remove_p`_ X `removedirs`_ X X `removedirs_p`_ X `rename`_ X X X X `renames`_ X X `replace`_ X X X X `resolve`_ X X `rfind`_ X `rglob`_ X X `rindex`_ X `rjust`_ X `rmdir`_ X X X X `rmdir_p`_ X `rmtree`_ X X `rmtree_p`_ X `root`_ X `rpartition`_ X `rsplit`_ X `rstrip`_ X `samefile`_ X X X X `sameopenfile`_ X `samestat`_ X `sep`_ X X `size`_ X `special`_ X `split`_ X X `splitall`_ X `splitdrive`_ X X `splitext`_ X X `splitlines`_ X `splitpath`_ X `splitunc`_ X `startswith`_ X `stat`_ X X X X X X `statvfs`_ X X `stem`_ X X `strip`_ X `stripext`_ X `suffix`_ X `suffixes`_ X `swapcase`_ X `symlink`_ X X `symlink_to`_ X X `text`_ X `title`_ X `touch`_ X X X `translate`_ X `uncshare`_ X `unlink`_ X X X X `unlink_p`_ X `upper`_ X `using_module`_ X `utime`_ X X `walk`_ X X `walkdirs`_ X `walkfiles`_ X `with_name`_ X X `with_suffix`_ X X X `write_bytes`_ X X X `write_lines`_ X `write_text`_ X X X `zfill`_ X ================== == ======= ====== ======= ======= ==== On Mon, Mar 19, 2018 at 5:23 AM, Wes Turner <wes.tur...@gmail.com> wrote: > Here's a comparison table of os, os.path, shutil, pathlib, and path.py. > > The full version is at > https://github.com/westurner/pyfilemods (README.rst) > and at > https://westurner.github.io/pyfilemods. > > I ran a few set intersections and went ahead and > wrote a report to compare function/method signatures and sources. > > attr table > ========== > > ================== == ======= ====== ======= ======= > attr os os.path shutil pathlib path.py > ================== == ======= ====== ======= ======= > `__div__`_ X > `__rdiv__`_ X > `absolute`_ X > `abspath`_ X X > `access`_ X X > `altsep`_ X X > `anchor`_ X > `as_posix`_ X > `as_uri`_ X > `atime`_ X > `basename`_ X X > `bytes`_ X > `capitalize`_ X > `casefold`_ X > `cd`_ X > `center`_ X > `chdir`_ X X > `chmod`_ X X X > `chown`_ X X X > `chroot`_ X X > `chunks`_ X > `commonpath`_ X > `commonprefix`_ X > `copy`_ X X > `copy2`_ X X > `copyfile`_ X X > `copymode`_ X X > `copystat`_ X X > `copytree`_ X X > `count`_ X > `ctime`_ X > `curdir`_ X X > `cwd`_ X > `defpath`_ X X > `devnull`_ X X > `dirname`_ X X > `dirs`_ X > `drive`_ X X > `encode`_ X > `endswith`_ X > `exists`_ X X X > `expand`_ X > `expandtabs`_ X > `expanduser`_ X X X > `expandvars`_ X X > `ext`_ X > `extsep`_ X X > `files`_ X > `find`_ X > `fnmatch`_ X X > `format`_ X > `format_map`_ X > `get_owner`_ X > `getatime`_ X X > `getctime`_ X X > `getcwd`_ X X > `getmtime`_ X X > `getsize`_ X X > `glob`_ X X > `group`_ X > `home`_ X > `in_place`_ X > `index`_ X > `is_absolute`_ X > `is_block_device`_ X > `is_char_device`_ X > `is_dir`_ X > `is_fifo`_ X > `is_file`_ X > `is_reserved`_ X > `is_socket`_ X > `is_symlink`_ X > `isabs`_ X X > `isalnum`_ X > `isalpha`_ X > `isdecimal`_ X > `isdigit`_ X > `isdir`_ X X > `isfile`_ X X > `isidentifier`_ X > `islink`_ X X > `islower`_ X > `ismount`_ X X > `isnumeric`_ X > `isprintable`_ X > `isspace`_ X > `istitle`_ X > `isupper`_ X > `iterdir`_ X > `join`_ X X > `joinpath`_ X X > `lchmod`_ X > `lexists`_ X > `lines`_ X > `link`_ X X > `listdir`_ X X > `ljust`_ X > `lower`_ X > `lstat`_ X X X > `lstrip`_ X > `makedirs`_ X X > `makedirs_p`_ X > `maketrans`_ X > `match`_ X > `merge_tree`_ X > `mkdir`_ X X X > `mkdir_p`_ X > `module`_ X > `move`_ X X > `mtime`_ X > `name`_ X X X > `namebase`_ X > `normcase`_ X X > `normpath`_ X X > `open`_ X X X > `os`_ X X > `owner`_ X X > `pardir`_ X X > `parent`_ X X > `parents`_ X > `partition`_ X > `parts`_ X > `pathconf`_ X X > `pathsep`_ X X > `read_bytes`_ X > `read_hash`_ X > `read_hexhash`_ X > `read_md5`_ X > `read_text`_ X > `readlink`_ X X > `readlinkabs`_ X > `realpath`_ X X > `relative_to`_ X > `relpath`_ X X > `relpathto`_ X > `remove`_ X X > `remove_p`_ X > `removedirs`_ X X > `removedirs_p`_ X > `rename`_ X X X > `renames`_ X X > `replace`_ X X X > `resolve`_ X > `rfind`_ X > `rglob`_ X > `rindex`_ X > `rjust`_ X > `rmdir`_ X X X > `rmdir_p`_ X > `rmtree`_ X X > `rmtree_p`_ X > `root`_ X > `rpartition`_ X > `rsplit`_ X > `rstrip`_ X > `samefile`_ X X X > `sameopenfile`_ X > `samestat`_ X > `sep`_ X X > `size`_ X > `special`_ X > `split`_ X X > `splitall`_ X > `splitdrive`_ X X > `splitext`_ X X > `splitlines`_ X > `splitpath`_ X > `splitunc`_ X > `startswith`_ X > `stat`_ X X X X X > `statvfs`_ X X > `stem`_ X X > `strip`_ X > `stripext`_ X > `suffix`_ X > `suffixes`_ X > `swapcase`_ X > `symlink`_ X X > `symlink_to`_ X > `text`_ X > `title`_ X > `touch`_ X X > `translate`_ X > `uncshare`_ X > `unlink`_ X X X > `unlink_p`_ X > `upper`_ X > `using_module`_ X > `utime`_ X X > `walk`_ X X > `walkdirs`_ X > `walkfiles`_ X > `with_name`_ X > `with_suffix`_ X X > `write_bytes`_ X X > `write_lines`_ X > `write_text`_ X X > `zfill`_ X > ================== == ======= ====== ======= ======= > > > > On Wed, Mar 14, 2018 at 2:22 PM, Wes Turner <wes.tur...@gmail.com> wrote: > >> path.py conveniently defines very many (most?) file operations as methods: >> https://github.com/jaraco/path.py/blob/master/path.py >> >> https://pathpy.readthedocs.io/en/latest/api.html >> >> The division operator is mapped to os.path.join: >> >> Path('a') / '/root' == Path('/root') >> >> >> On Monday, March 12, 2018, George Fischhof <geo...@fischhof.hu> wrote: >> >>> >>> >>> 2018-03-12 22:16 GMT+01:00 Paul Moore <p.f.mo...@gmail.com>: >>> >>>> On 12 March 2018 at 20:57, George Fischhof <geo...@fischhof.hu> wrote: >>>> > Good day all, >>>> > >>>> > as it seemed to be a good idea, I wrote a PEP proposal for pathlib to >>>> > contain file operations. >>>> > >>>> > Here is the draft. What do you think about this? >>>> >>>> I don't know for certain what I think I feel about the idea - in >>>> general, it seems plausible. But I think you'll need to get down to >>>> specifics in the PEP, exactly what functions do you suggest get added >>>> to pathlib? >>>> >>>> Paul >>>> >>> >>> >>> Basically file and directory operations: copy, rename, move, delete. >>> With all variants. >>> I will collect them, and put intot PEP >>> >>> George >>> >> >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/