Python中检查文件是否存在(并忽略大小写)

3

我有一个Python脚本,想要检查文件是否存在,但是我想忽略大小写。

例如:

path = '/Path/To/File.log'
if os.path.isfile(path):
   return true

目录可能看起来像这样 "/path/TO/fILe.log"。但上面的代码仍然返回true。

2
文件名比较中的强制类型转换敏感性语义是编码在操作系统和文件系统中,而不是应用程序中。您使用的是哪个操作系统和文件系统? - Robᵩ
如果 /path/To/file 和 /path/tO/file 都存在,你想要做什么?这可能取决于操作系统,但是你不知道你正在引用哪个文件。 - ascobol
@Rob 文件系统是在 Red Hat 4.4.6-4 上的 nfs。 - Ruth
2
根据您所述,目前没有实际解决方案可供使用。您能告诉我们您为什么想要做这件事吗?也许我们可以帮助您解决实际问题。 - Robᵩ
那会很昂贵,我希望可能有一个简单的解决方案逃脱了我的注意。 - Ruth
显示剩余3条评论
1个回答

1
  1. 使用 os.walk 生成文件系统中所有绝对路径的一次性集合 S,在收集它们时使用 str.lower 进行转换。
  2. 遍历您的大量路径列表以检查是否存在,使用 if my_path.lower() in S 进行检查。
  3. (可选) 前往询问提供列表的人关于不一致情况。这听起来像是一个 XY问题,可能有一些奇怪的原因和更简单的解决方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接