|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问下面这个代码中,为什么盘符C显示的不一样呢?为什么有的后面是双斜杠,有的后面是单斜杠呢??
- >>> Path().resolve()
- WindowsPath('C:/Users/Lenovo/AppData/Local/Programs/Python/Python38')
- >>> Path().resolve().parts
- ('C:\\', 'Users', 'Lenovo', 'AppData', 'Local', 'Programs', 'Python', 'Python38')
- >>>
复制代码
在Windows系统中,路径分隔符默认为反斜杠`\`。但是Python中,反斜杠本身也是用来转义字符的,因此如果要使用反斜杠作为路径分隔符,需要进行双反斜杠转义,即两个反斜杠`\\`。
在上述代码中,`Path().resolve()`会返回一个绝对路径对象,即包含了这个文件所在的完整路径。在Windows系统中,Python自动将路径分隔符进行了转换,显示为正斜杠`/`。所以`C:/Users/Lenovo/AppData/Local/Programs/Python/Python38`实际上是等价于`C:\Users\Lenovo\AppData\Local\Programs\Python\Python38`的。
而`Path().resolve().parts`则返回了路径中每一级文件夹的名称,这个列表的元素使用了操作系统默认的路径分隔符反斜杠,所以结果中出现的`\\`表示单个反斜杠,而`C:\\`则表示盘符C的根目录。
有用请设置最佳答案
|
|