我使用pathlib
来管理我的Python项目中的路径,使用的是Path
类。
当我使用Linux时,一切都很好。但是在Windows上,我有一个小问题。
在我的代码中,我必须编写一个JavaScript文件,其中列出了对其他几个文件的引用。这些路径必须以POSIX格式编写。但是当我在Windows上执行str(my_path_instance)
时,路径以Windows格式编写。
你知道一个简单的方法来转换一个WindowsPath
到一个PosixPath
与pathlib
?
2条答案
按热度按时间olhwl3o21#
pathlib有一个
as_posix
方法来将Windows路径转换为POSIX路径:除此之外,通常可以通过调用相应的构造函数来构造系统特定的路径。
在Unix上运行时不能示例化
WindowsPath
,但可以示例化PureWindowsPath
。所以使用
Pure*
类构造函数:但是,如果
your_posix_path
包含反斜杠,这将无法满足您的要求,因为\
(= Windows路径分隔符)对于POSIX来说只是一个常规字符。因此a\b
是有效的POSIX文件名,* 而不是 * 表示目录b
中的文件b
的路径,并且PurePosixPath
将保留此解释:要将Windows路径转换为POSIX路径,请使用
PureWindowsPath
类并通过as_posix
进行转换:nc1teljy2#
Pythonpathlib如果您想在Unix机器上操作Windows路径(反之亦然)-在Unix上运行时不能示例化WindowsPath,但可以示例化
PureWindowsPath/PurePosixPath
.