最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python編寫(xiě)判斷真實(shí)文件類型工具

 更新時(shí)間:2025年01月09日 10:13:24   作者:黑客白澤  
常在河邊走,哪能不濕鞋,網(wǎng)上獲取的各種文件后綴真真假假,甚至一不小心就會(huì)中招,所以本文就來(lái)用Python編寫(xiě)一個(gè)判斷真實(shí)文件類型工具吧

1.簡(jiǎn)介

常在河邊走,哪能不濕鞋。網(wǎng)上獲取的各種文件后綴真真假假,甚至一不小心就會(huì)中招。因此,決定用python寫(xiě)一個(gè)能無(wú)視文件后綴的小程序,直接判斷文件類型。該工具原理使用python第三方python-magic庫(kù),通過(guò)文件頭的MIME Type進(jìn)行文件類型判斷,不用糾結(jié)文件本身的后綴。

下載文件提供源碼和exe兩種供大家使用,exe文件已在win7 x64/win10 x64下驗(yàn)證過(guò),其他系統(tǒng)請(qǐng)自行驗(yàn)證。喜歡的話可以點(diǎn)個(gè)關(guān)注哦!

注:

python中運(yùn)行報(bào)錯(cuò)可能是未安裝python-magic導(dǎo)致的,需要安裝以下第三方庫(kù)文件:

pip install python-magic
pip install python-magic-bin

使用說(shuō)明:

Main function:獲取當(dāng)前文件的真實(shí)類型。采用MIME進(jìn)行判斷,可以無(wú)視后綴的篡改。

How to Use:拖拽文件至本exe文件上 or 雙擊打開(kāi),執(zhí)行完成后會(huì)在exe目錄下生成results.txt文檔。

2.運(yùn)行效果

示例圖三為三張jpg截圖,有一張篡改了后綴,一張刪除了后綴,一張維持原樣。均能識(shí)別出來(lái)文件類型。

3.相關(guān)源碼

import os
import tkinter
import magic
import sys
from tkinter import filedialog
 
def process(fnames,dirpath):
    os.chdir(dirpath)
    result = "results.txt"
    f = open(result, "w",encoding="utf-8")
    for fname in fnames:
        if os.path.exists(fname):
            if os.path.isfile(fname):
                content = "name:{}\nType:{}".format(os.path.basename(fname),
                                                    magic.from_buffer(open(fname, "rb").read(2048), mime=True))
                print(content)
                print("*" * 50)
                f.write(content + "\n")
                f.write("*" * 50 + "\n")
            else:
                print(f"{fname} is not a file")
        else:
            print(f"{fname} not found")
    f.close()
    os.startfile(result)
 
if __name__ == "__main__":
    try:
         
        # 獲取當(dāng)前exe所在執(zhí)行目錄
        if hasattr(sys, 'frozen'):
            application_path = os.path.dirname(sys.executable)
        else:
            application_path = os.path.dirname(os.path.abspath(__file__))
             
        #判斷是否是拖拽模式.if yes,直接轉(zhuǎn)入處理,if no,打開(kāi)UI界面
        fnames=sys.argv[1:]
        if fnames:
            process(fnames,application_path)
        else:
            root = tkinter.Tk()
            root.withdraw()
            fnames = filedialog.askopenfilenames(title='File Selection', filetypes=[ ('All Files', '*') ])
            if fnames:
                process(fnames, application_path)
    except:
        pass

到此這篇關(guān)于Python編寫(xiě)判斷真實(shí)文件類型工具的文章就介紹到這了,更多相關(guān)Python文件類型判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python類的動(dòng)態(tài)修改的實(shí)例方法

    Python類的動(dòng)態(tài)修改的實(shí)例方法

    這篇文章主要介紹了Python類的動(dòng)態(tài)修改的實(shí)例方法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Python編寫(xiě)郵件自動(dòng)發(fā)送工具的完整指南

    Python編寫(xiě)郵件自動(dòng)發(fā)送工具的完整指南

    自動(dòng)化郵件發(fā)送是一個(gè)非常實(shí)用的功能,無(wú)論是系統(tǒng)通知,營(yíng)銷郵件,還是日常工作報(bào)告,下面我們來(lái)看看Python如何使用smtplib實(shí)現(xiàn)郵件自動(dòng)發(fā)送工具吧
    2025-06-06
  • Python爬蟲(chóng)爬取Bilibili彈幕過(guò)程解析

    Python爬蟲(chóng)爬取Bilibili彈幕過(guò)程解析

    這篇文章主要介紹了Python爬蟲(chóng)爬取Bilibili彈幕過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python程序中引用環(huán)境變量的方法實(shí)現(xiàn)

    Python程序中引用環(huán)境變量的方法實(shí)現(xiàn)

    本文主要介紹了Python程序中引用環(huán)境變量的方法實(shí)現(xiàn),通過(guò)配置環(huán)境變量并在代碼中引用,可以避免將敏感信息直接寫(xiě)入代碼中,感興趣的可以了解一下
    2024-12-12
  • Python3 pandas.concat的用法說(shuō)明

    Python3 pandas.concat的用法說(shuō)明

    這篇文章主要介紹了Python3 pandas.concat的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 深入了解Python中Pytest Markers的使用方法

    深入了解Python中Pytest Markers的使用方法

    從這篇開(kāi)始,逐一解決fixture是啥,mark是啥,參數(shù)request是啥,鉤子函數(shù)是啥,parametrize參數(shù)化是啥,這些問(wèn)題,本片先介紹一下mark是啥,以及如何使用
    2023-09-09
  • python讀取mysql數(shù)據(jù)繪制條形圖

    python讀取mysql數(shù)據(jù)繪制條形圖

    這篇文章主要為大家詳細(xì)介紹了python讀取mysql數(shù)據(jù)繪制條形圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • TensorFlow固化模型的實(shí)現(xiàn)操作

    TensorFlow固化模型的實(shí)現(xiàn)操作

    這篇文章主要介紹了TensorFlow固化模型的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python判斷集合的超集方法及實(shí)例

    python判斷集合的超集方法及實(shí)例

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python判斷集合的超集方法及實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-05-05
  • Python字典操作得力助手Get()函數(shù)的使用

    Python字典操作得力助手Get()函數(shù)的使用

    在Python編程中,get()函數(shù)是字典(Dictionary)對(duì)象中非常有用的函數(shù),本文將詳細(xì)介紹get()函數(shù)的用法及示例代碼,感興趣的可以了解一下
    2023-11-11

最新評(píng)論

同江市| 正安县| 唐河县| 易门县| 岑巩县| 西乡县| 佛冈县| 河曲县| 佛山市| 星子县| 奈曼旗| 仙桃市| 西吉县| 工布江达县| 内乡县| 句容市| 阿合奇县| 宝山区| 乐都县| 忻城县| 乌苏市| 盐边县| 视频| 库伦旗| 漯河市| 衡阳市| 比如县| 太原市| 泰顺县| 五家渠市| 二连浩特市| 婺源县| 天门市| 卢湾区| 达日县| 织金县| 长丰县| 精河县| 葫芦岛市| 昭通市| 肥东县|