Python 在windows路径上使用os.path.dirname
我使用的是运行python 2.7的linux机器。 我想使用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 >>>
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运行的操作系统的路径模块,因此可用于本地路径。但是,如果要操纵始终采用不同格式之一的路径,也可以导入和使用各个模块。它们都有相同的接口:
用于UNIX样式的路径posixpath
用于Windows路径ntpath
- 对于旧式MacOS路径
用于OS/2 EMX路径os2emxpath
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”)
也是“”
完全相同。