我有一个文件夹,我想在其中搜索一些字符串。问题是有些文件可能是zip,exe,ogg等。 我可以检查一下它是什么类型的文件所以我只打开并搜索txt,PHP等文件。 我不能依赖文件扩展名。
答案 0 :(得分:6)
使用Python的mimetypes
库:
import mimetypes
if mimetypes.guess_type('full path to document here')[0] == 'text/plain':
# file is plaintext
答案 1 :(得分:4)
您可以使用Python interface至libmagic来识别文件格式。
>>> import magic
>>> f = magic.Magic(mime=True)
>>> f.from_file('testdata/test.txt')
'text/plain'
有关更多示例,请参阅repo。
答案 2 :(得分:1)
尝试这样的事情:
('body,html').animate({scrollTop: $("#"+anyQuestionId).offset().top}, 1000);
使用这样的方法:
procedure OnMediaPlayerEvent(EventCode, Param1, Param2: Integer);
begin
if EventCode = EC_COMPLETE then
VideoForm.Close; { not close, start again, and again.... }
end;
如果文件是二进制类型,则返回True;如果是文本,则返回False - 应该很容易将其转换为反映您的需求,fx。制作一个函数def is_binay_file(filepathname):
textchars = bytearray([7,8,9,10,12,13,27]) + bytearray(range(0x20, 0x7f)) + bytearray(range(0x80, 0x100))
is_binary_string = lambda bytes: bool(bytes.translate(None, textchars))
if is_binary_string(open(filepathname, 'rb').read(1024)):
return True
else:
return False
- 我把它留给你
答案 3 :(得分:-1)
如果您使用的是linux,则可以解析file
命令行工具的输出。