【问题标题】:The os.path module how to works?os.path 模块如何工作?
【发布时间】:2017-01-11 11:17:58
【问题描述】:

os.path是python中的一个模块,但是我在安装目录中没有找到名为os.path.py的文件>。 但其他模块,如osstring等,可以找到对应的实现文件os.pystring.py。

现在,我想知道 os.path 模块是如何工作的?

【问题讨论】:

    标签: python os.path


    【解决方案1】:

    根据您使用的平台,os.path 实际上是:

    • ntpath.py 适用于 Windows
    • posixpath.py 用于 Linux
    • macpath.py 适用于 Mac OSX

    os 模块在文件顶部这样说:

    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
    • 似乎他们在我刚刚检查过的所有 Python 版本的文档字符串中都留下了那个......我想我可能会为此在 cpython 存储库中添加一个 PR。
    • 好的,谢谢,我太傻了。我在这个答案中找到了原因。 link
    猜你喜欢
    • 2020-05-05
    • 1970-01-01
    • 2014-07-09
    • 2015-09-29
    • 2011-10-14
    • 2013-12-15
    • 1970-01-01
    • 2011-12-09
    • 2021-03-17
    相关资源
    最近更新 更多