我试图在Windows上找到完整的真实路径,基于其中带有*字符的路径(这似乎与正则表达式类似).
例如,如果在Windows控制台中我执行:
cd C:\\Windows\\Program Files\\MySWv1*\\bin
上面的路径扩展为:
C:\\Windows\\Program Files\\MySWv1.90\\bin
然后cd命令成功执行.
但是,如果在Python(2.7)中我尝试执行以下操作:
import os
my_path = 'C:\\Windows\\Program Files\\MySWv1*\\bin'
os.path.exists(my_path)
返回False.
如何让上面的脚本返回True?
解决方法:
我找到了解决方案here.它基于glob模块:
import os
import glob
my_path = glob.glob('C:\\Windows\\Program Files\\MySWv1*\\bin')[0]
os.path.exists(my_path)
实际上,glob.glob解释路径并用一个或多个字符串替换任何通配符(如*),从而得到与它们匹配的路径列表.
这意味着,在生产代码中,您应始终考虑glob.glob生成多个路径的可能性,并在必要时执行某些操作来管理此规则.
标签:python,windows,path
来源: https://codeday.me/bug/20190708/1399477.html
|