【发布时间】:2017-01-11 11:17:58
【问题描述】:
os.path是python中的一个模块,但是我在安装目录中没有找到名为os.path.py的文件>。 但其他模块,如os、string等,可以找到对应的实现文件os.py和string.py。
现在,我想知道 os.path 模块是如何工作的?
【问题讨论】:
os.path是python中的一个模块,但是我在安装目录中没有找到名为os.path.py的文件>。 但其他模块,如os、string等,可以找到对应的实现文件os.py和string.py。
现在,我想知道 os.path 模块是如何工作的?
【问题讨论】:
根据您使用的平台,os.path 实际上是:
ntpath.py 适用于 Windowsposixpath.py 用于 Linuxmacpath.py 适用于 Mac OSXos 模块在文件顶部这样说:
r"""OS routines for NT or Posix depending on what system we're on.
This exports:
- all functions from posix, nt, os2, or ce, e.g. unlink, stat, etc.
- os.path is one of the modules posixpath, or ntpath
- os.name is 'posix', 'nt', 'os2', 'ce' or 'riscos'
- os.curdir is a string representing the current directory ('.' or ':')
- os.pardir is a string representing the parent directory ('..' or '::')
- os.sep is the (or a most common) pathname separator ('/' or ':' or '\\')
- os.extsep is the extension separator ('.' or '/')
- os.altsep is the alternate pathname separator (None or '/')
- os.pathsep is the component separator used in $PATH etc
- os.linesep is the line separator in text files ('\r' or '\n' or '\r\n')
- os.defpath is the default search path for executables
- os.devnull is the file path of the null device ('/dev/null', etc.)
Programs that import and use 'os' stand a better chance of being
portable between different platforms. Of course, they must then
only use functions that are defined by all platforms (e.g., unlink
and opendir), and leave all pathname manipulation to os.path
(e.g., split and join).
"""
【讨论】:
macpath.py for mac