吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1844|回复: 2
收起左侧

[Python 转载] 搜索指定目录的文件内容是否存在特定字符串(utf-8、utf-16-le、utf-16-be、gbk)

  [复制链接]
5omggx 发表于 2022-5-2 09:42
本帖最后由 5omggx 于 2022-5-2 17:15 编辑

用途:搜索指定目录的文件内容是否存在特定字符串(utf-8、utf-16-le、utf-16-be、gbk)
用法:python.exe binSearch.py "需要搜索的字符串" 需要搜索的目录路径

# coding="utf-8"

import sys
import os
import glob
import msvcrt

f = []

try:

    if (len(sys.argv) > 2):
        searchPath = sys.argv[2]
        if os.path.isfile(searchPath):
            print('处理文件: ' + searchPath)
            f.append(searchPath)
            #outputFilePath = os.path.dirname(searchPath)+r'\\output.txt'
        else:
            print('处理目录: ' + searchPath + r'\*.*')
            f = glob.glob(searchPath + r'\*.*')
            #outputFilePath = searchPath+r'\\output.txt'

        searchStrEncoding = ['utf-8', 'utf-16-le', 'utf-16-be', 'gbk']
        searchStr = sys.argv[1]
        for i in f:
            with open(i, 'rb') as pf:
                s = pf.read()
                for sse in searchStrEncoding:
                    curSearchBytes = searchStr.encode(sse)
                    curSearchBytesLength = len(curSearchBytes)
                    foundOffset = s.find(curSearchBytes)
                    while foundOffset != -1:
                        print(
                            "found '%s' in file : %s offset : %d, encoding=%s"
                            % (searchStr, i, foundOffset, sse))
                        foundOffset = s.find(
                            curSearchBytes, foundOffset + curSearchBytesLength)
    else:
        print('usage: python.exe binSearch.py "Search String" [searchpath]')

except Exception as e:
    trace_back = sys.exc_info()[2]
    line = trace_back.tb_lineno
    print("Process Exception in line {} : ".format(line) + str(e))

finally:
    print("search done, exit.")
    msvcrt.getch()

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
gzsklsskszngc + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhxhwyzh14 发表于 2022-5-2 11:33
谢谢分享,代码很简洁,收藏学习。
qljzty 发表于 2022-5-3 11:07
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 05:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表