os module, you can manipulate the filesystem in a variety of ways: creating, copying, and deleting files and directories, comparing files, and examining filesystem information about files and directories. This section documents the attributes and methods of the
os module that you use for these purposes, and covers some related modules that operate on the filesystem.
A file or directory is identified by a string, known as its path, whose syntax depends on the platform. On both Unix-like and Windows platforms, Python accepts Unix syntax for paths, with a slash (
/) as the directory separator. On non-Unix-like platforms, Python also accepts platform-specific path syntax. On Windows, in particular, you may use a backslash (
\) as the separator. However, you then need to double-up each backslash as
\\ in string literals, or use raw-string syntax as covered in Literals; you also needlessly lose portability. Unix path syntax is handier, and usable everywhere, so I strongly recommend that you always use it. In the rest of this chapter, for brevity, I assume Unix path syntax in both explanations and examples.
os supplies attributes that provide details about path strings on the current platform. You should typically use the higher-level path manipulation operations covered in The os.path Module rather than lower-level string operations based on these attributes. However, the attributes may be useful at times.