0

我需要 python 中的一个例程来测试包含绝对路径的字符串,即 Unix 样式格式。所以这/home/eduard/tmp/chrome-data-dir/file.ext将是一条有效的路径。但C:\Users\user\AppData\Local\Google\Chrome\Application\chrome.exe不会是有效的路径。

我还需要测试的路径不包含可能被视为特殊的字符,例如:*,?

4

3 回答 3

2
import posixpath
posixpath.isabs('/home/eduard/tmp/chrome-data-dir/file.ext')

posixpathos.path在类 Unix 系统上使用的实现。另请参阅isabs文档。

于 2012-08-21T15:09:38.057 回答
0

您的第一个示例不是相对路径,它是绝对路径,因为它以/. 第二个也是绝对的,因为驱动器名称后的第一个字符是\.

Unix 中的相对路径类似于chrome-data-dir/file.extor ../../include/

你的问题有点不清楚。

也许你应该寻找一个冒号?

于 2012-08-21T14:44:48.767 回答
0

如果我理解您,您的第一个示例是绝对路径。所有绝对路径都将以“/”开头,因为它们必须从根目录开始,而所有相对路径都不会。因此,只需使用 str.startswith('/') 检查您的字符串是否以“/”开头。然后,如果要检查路径是否有效,请使用 os.path.exists()。

您的第二个示例不是 *nix 路径。

于 2012-08-21T14:55:53.890 回答