我正在使用Python3,我需要像二进制一样验证通过请求获得的文档文件(如.pdf、.xlsx和.docx)。我目前正在使用一个小函数来获取扩展的十六进制,但它只适用于.pdf。
看起来是这样的:
def validate_binary_extension(self, file):
extension = file[0:3].hex()
extencions = ['255044', 'D0CF11', "D0CF11"]
if extension in extencions:
return True
else:
return False
我读了.doc和.exe的十六进制,但是我不知道如何获得这些类型文档的扩展。
发布于 2020-12-31 19:00:37
一个明显的问题是,.hex()
返回小写十六进制,并且提供大写十六进制常量。第一个方法可以工作,因为十六进制是纯数字,但是如果您希望'D0CF11'
与bytes.hex()
的输出相匹配,那么它应该是'd0cf11'
。
发布于 2020-12-31 18:55:50
如果您想获得分机名,您可以:
def get_extension_name(filename):
for index, char in enumerate(filename):
if char == ".":
return filename[index + 1:]
https://stackoverflow.com/questions/65524553
复制相似问题