如果有一个* nix有效的绝对路径,在python中测试一个字符串的例程?

时间:2012-08-21 14:42:09

标签: python python-2.7 filepath

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

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

你的第一个例子不是相对路径,它是绝对的,因为它以/开头。第二个也是绝对的,因为驱动器名称后面的第一个字符是\

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

你的问题有点不清楚。

也许你应该找一个冒号?

答案 2 :(得分:0)

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

你的第二个例子不是* nix路径。