Python 在windows路径上使用os.path.dirname

Python 在windows路径上使用os.path.dirname,python,linux,python-2.7,Python,Linux,Python 2.7,我使用的是运行python 2.7的linux机器。 我想使用os.path.dirname()获取文件完整路径的父目录(不是从这台机器),例如: C:\\documents and settings\\Dan\\yada\\1.txt=> 将导致C:\\documents and settings\\Dan\\yada 但令人惊讶的是,我得到的却是空字符串 任何人都可以解释为什么以及如何解决它?使用ntpath: >>> import ntpath >>>

我使用的是运行python 2.7的linux机器。 我想使用
os.path.dirname()
获取文件完整路径的父目录(不是从这台机器),例如:
C:\\documents and settings\\Dan\\yada\\1.txt
=>
将导致
C:\\documents and settings\\Dan\\yada

但令人惊讶的是,我得到的却是空字符串


任何人都可以解释为什么以及如何解决它?

使用
ntpath

>>> import ntpath
>>> ntpath.dirname('C:\\documents and settings\\Dan\\yada\\1.txt')
'C:\\documents and settings\\Dan\\yada'
发件人:

由于不同的操作系统具有不同的路径名约定,因此标准库中有多个版本的此模块。该模块始终是适合Python运行的操作系统的路径模块,因此可用于本地路径。但是,如果要操纵始终采用不同格式之一的路径,也可以导入和使用各个模块。它们都有相同的接口:

  • posixpath
    用于UNIX样式的路径
  • ntpath
    用于Windows路径
  • 对于旧式MacOS路径
  • os2emxpath
    用于OS/2 EMX路径

Linux不知道c:\\很难猜测,没有代码显示如何调用它,等等。
os.path.exists(您传递给\u dirname的路径)
?您如何连接到Windows计算机?这里有太多可能是错误的未寻址内容。@Simon更准确地说,在linux上,
C:\documents and settings\Dan\yada\1.txt
是一个有效的文件名(例如,您可以有一个
/home/Dan/C:\documents and settings\Dan\yada\1.txt
os.path.dirname(“C:\\documents and settings\\Dan\\yada\\1.txt”)
(空字符串)因为它只是一个文件名,所以与
os.path.dirname(“1.txt”)
也是
“”
完全相同。