[Python-ideas] New PEP proposal -- Pathlib Module Should Contain All File Operations
Wes Turner
wes.turner at gmail.com
Mon Mar 19 05:23:35 EDT 2018
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.turner at 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 <george at fischhof.hu> wrote:
>
>>
>>
>> 2018-03-12 22:16 GMT+01:00 Paul Moore <p.f.moore at gmail.com>:
>>
>>> On 12 March 2018 at 20:57, George Fischhof <george at 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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180319/bf36adff/attachment-0001.html>
More information about the Python-ideas
mailing list