Python 如何在Windows上一致地分割路径

Python 如何在Windows上一致地分割路径,python,string,split,Python,String,Split,在windows上构建路径时,我感到非常困惑: HDF_OUTPUT = f'{__file__}'.split('\\') print(HDF_OUTPUT) HDF_OUTPUT = f'{__file__}'.split('/') print(HDF_OUTPUT) 输出: ['C:/Users/Artur/Desktop/tsfresh/file.py'] ['C:', 'Users', 'Artur', 'Desktop', 'tsfresh', 'file.py'] 在本例中

在windows上构建路径时,我感到非常困惑:

HDF_OUTPUT = f'{__file__}'.split('\\')
print(HDF_OUTPUT)


HDF_OUTPUT = f'{__file__}'.split('/')
print(HDF_OUTPUT)
输出:

['C:/Users/Artur/Desktop/tsfresh/file.py']
['C:', 'Users', 'Artur', 'Desktop', 'tsfresh', 'file.py']
在本例中,第二种方法有效,但并不总是这样。有时第一种方法导致右分割,有时第二种方法导致右分割。
/
\\
运算符似乎有问题

我想要这个分割:

['C:', 'Users', 'Artur', 'Desktop', 'tsfresh', 'file.py']

我如何在这方面保持一致性?有正确的路径处理方法吗?

如今,处理路径的内置默认方法是通过库

从pathlib导入路径
p=Path(r'C:\mypath\to\my\file.txt')
印刷品(p.零件)
#('C:\\'、'mypath'、'to'、'my'、'file.txt')

Windows路径使用的是
\
,而不是
/
。即使程序使用正斜杠,发送到Win32 API的实际路径也使用反斜杠。正斜杠用于向命令提供参数如果知道字符串不包含参数,则可以使用使用两个字符拆分的正则表达式<代码>/在路径中无效,当我执行
.split('\')
操作时,不会在名为
123/456.txt的文件上绊倒。它甚至不起作用,因为它将
转换为字符串。您忘了避开反斜杠