在所有平台(包括
Android,iOS等移动平台)上检查文件名是否在Python中有效的最保守的方法是什么?
防爆.
this_is_valid_name.jpg – >有效
** adad.jpg – >无效
a / ad – >无效
解决方法
检查文件是否是目标操作系统上的有效文件名的最苛刻的方法是检查正确测试的文件名列表.
valid = myfilename in ['this_is_valid_name.jpg']
在此基础上,您可以定义一组您知道在每个平台上的文件名中允许的字符:
valid = set(valid_char_sequence).issuperset(myfilename)
但这还不够,就像一些操作系统have reserved filenames.
您需要排除保留名称或与OS允许的文件名域匹配的create an expression(regexp),并针对每个目标平台测试您的文件名.
AFAIK,Python不提供这样的帮助器,因为它是Easier to Ask Forgiveness than Permission.操作系统/文件系统有很多不同的可能组合,当os引发异常时,比检查所有它们的安全文件名域更容易做出适当的反应.