This is some feedback I've heard half a dozen times this week at Python Brasil: Python's system utility APIs are in too many places, and do not have any sort of conceptual integrity, to wit: os, os.path, pathlib, shutil, subprocess, fileinput, stat, glob, platform, errno (to say nothing of their 3rd party alternatives) all appear to perform a partial, confusing, and inconsisten portion of what we might think of as system-scripting utilities.
Some specific ideas:
Path object abstraction from the beginning. All path operations go through it, no ridiculous family of functions that take strings.
This is some feedback I've heard half a dozen times this week at Python Brasil: Python's system utility APIs are in too many places, and do not have any sort of conceptual integrity, to wit:
os
,os.path
,pathlib
,shutil
,subprocess
,fileinput
,stat
,glob
,platform
,errno
(to say nothing of their 3rd party alternatives) all appear to perform a partial, confusing, and inconsisten portion of what we might think of as system-scripting utilities.Some specific ideas:
Path
object abstraction from the beginning. All path operations go through it, no ridiculous family of functions that take strings.fork()
/exec
.