我最近压缩了一些由我编写的脚本创建的文件,并将它们发送给使用 Windows 的同事。他无法解压缩存档,因为我的一些文件名包含:
在 Windows 上不合法的 a。
去掉 . 是微不足道的:
,但是如果在 Windows 路径/文件名中有我不知道的其他字符是非法的怎么办?
我想知道pathlib
“纯”路径对象是否会以任何方式标记非法字符,但据我所知,它们并没有:
>>> from pathlib import PurePosixPath, PureWindowsPath
>>> pp = PurePosixPath("foo/bar:baz.txt")
>>> wp = PureWindowsPath(pp)
>>> print(wp)
foo\bar:baz.txt
鉴于我无法轻松访问 Windows 机器进行测试,是否有一种简单的方法来确保 Python 生成的路径/文件名是“Windows 安全的”?