拳打电脑管家,脚踢金山毒霸,3分钟用Python撸一个杀毒软件

「作者主页」:士别三日wyx
  此文章已录入专栏《Python入门到精通》
  2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习

        事情要从一次重保行动说起,由于活动还没结束,这里就先不透漏了。我抱着亲手做的康师傅红烧牛肉泡面,还没开始吃,就听见后面有人喊我名字,说是有个用户的电脑卡死了,要我过去看看。

        我问她能不能等我吃完这桶泡面再去,我已经3个小时没有吃过饭了,现在饿得没有力气走到用户那里。

        她说那是主任的电脑,你自己看着办吧。

        我向来不畏惧权贵,但九年义务教育告诉我,别人有困难的时候一定要去帮一把……

        我到现场一看,电脑上就只有一个空空桌面,连个鼠标都找不到,看来是电脑太卡了,软件图标都卡没了。

        我问用户之前有没有做过什么奇怪的事情

        他说没有,电脑一开机就是这个样子

        我好像明白了什么,拔掉电源重启,电脑开机以后,果然跟我想的一样,360、电脑管家、金山毒霸这三兄弟整齐的站在右下角,桌面上满满当当的全家桶,这不卡才怪呢。刚好电脑上没有什么重要文件,懒得一个一个删了,招呼来联想的同志给他重新做个系统。

        回去的路上我跟联想的同志吐槽:“这群流氓软件真是不讲武德,就知道欺负这种电脑小白。”

        联想的同志白了我一眼:“看把你能的,有本事自己写一个”

在这里插入图片描述
        我向来不喜欢斤斤计较,写杀毒软件只是出于爱好。

        首先,杀毒这个动作,本质上就是删除病毒文件,这还不简单,os模块就能干

import os
os.remove(r'E://python/病毒.txt')

        病毒软件肯定不是只有一种,因此我们需要准备一个病毒库,把文件扔到病毒库里匹配,匹配上了就把病毒文件删除

import os

病毒库 = ['病毒.txt']

path = r'E://python/病毒.txt'

if path in 病毒库:
    os.remove(path)
    print('已经删除病毒文件', file)

        当然,病毒查杀肯定不能只查一个文件,需要查询所有的文件,而目录下所有的文件,可以写个函数,递归查询

def getAllFile(path):
    # 获取目录中的所有文件并遍历
    files = os.listdir(path)
    for file in files:
        # 拼接路径,如果是目录则递归获取所有文件
        new_path = path + r'/' + file
        if os.path.isdir(new_path):
            getAllFile(new_path)

        既然是自己写的杀毒软件,那查杀什么地方当然要自己说了算,毕竟做网安这一行,很多工具本身就是病毒。写个input,自定义查杀目录

path = input('请输入需要查杀的目录:')
getAllFile(path)

完整代码如下:

import os

病毒库 = ['病毒.txt']

def getAllFile(path):
    # 获取目录中的所有文件并遍历
    files = os.listdir(path)
    for file in files:
        # 拼接路径,如果是目录则递归获取所有文件
        new_path = path + r'/' + file
        if os.path.isdir(new_path):
            getAllFile(new_path)
        else:
            # 如果是文件则查询病毒库,匹配成功则删除
            if file in 病毒库:
                os.remove(new_path)
                print('已经删除病毒文件', file)

path = input('请输入需要查杀的目录:')
getAllFile(path)

        先自己写一个病毒
在这里插入图片描述
        运行程序,输入需要查杀的目录
在这里插入图片描述
        好了,病毒已经被沙雕了
在这里插入图片描述
        小小病毒,可笑可笑。

        正当我伸着懒腰想着怎么加大查杀力度时,感觉手好像碰到了一个硬邦邦的东西,我突然意识到不对劲……

        原来是我两个小时前泡的那碗泡面,坨了!

在这里插入图片描述

书单推荐

在这里插入图片描述
本书从网络攻防实战的角度,对Web漏洞扫描利用及防御进行全面系统的研究,由浅入深地介绍了在渗透过程中如何对Web漏洞进行扫描、利用分析及防御,以及在漏洞扫描及利用过程中需要了解和掌握的基础技术。
全书共分10章,包括漏洞扫描必备基础知识、域名信息收集、端口扫描、指纹信息收集与目录扫描、Web漏洞扫
描、Web常见漏洞分析与利用、密码扫描及暴力破解、手工代码审计利用与漏洞挖掘、自动化的漏洞挖掘和利用、Web漏洞扫描安全防御,基本涵盖了Web漏洞攻防技术体系的全部内容。书中还以一些典型漏洞进行扫描利
用及实战,通过漏洞扫描利用来还原攻击过程,从而可以针对性地进行防御。

书名京东自营价格
Web渗透攻防实战https://item.jd.com/13471058.html92.20

        感谢大家的三连支持,我是三日,我们下期再见!

  • 99
    点赞
  • 150
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 67
    评论
好的,那我可以给你提供一个简单的小工具的例子。这个小工具可以将一个文件夹里面的所有文件名批量修改成指定的格式。你可以按照以下步骤进行操作: 1. 安装必要的Python库:os、os.path和argparse。如果你使用的是Anaconda,那么这些库应该已经默认安装好了。 2. 在命令行中输入以下命令: ```python python rename_files.py --input_folder path/to/input/folder --output_format new_file_%03d.txt ``` 其中,`path/to/input/folder`指的是你要修改文件名的文件夹路径,`new_file_%03d.txt`是你要修改成的文件名格式,其中%03d表示在文件名中插入三位数字,从001开始递增。 3. 运行上述命令后,程序将自动遍历指定的文件夹,并按照指定的格式修改所有文件名。 下面是`rename_files.py`的代码: ```python import os import argparse def rename_files(input_folder, output_format): # 遍历文件夹中的所有文件 for i, file in enumerate(os.listdir(input_folder)): old_path = os.path.join(input_folder, file) new_filename = output_format % (i + 1) new_path = os.path.join(input_folder, new_filename) # 修改文件名 os.rename(old_path, new_path) if __name__ == '__main__': # 命令行参数解析 parser = argparse.ArgumentParser(description='批量修改文件名工具') parser.add_argument('--input_folder', type=str, help='输入文件夹路径') parser.add_argument('--output_format', type=str, help='输出文件名格式') args = parser.parse_args() # 调用文件名修改函数 rename_files(args.input_folder, args.output_format) ``` 希望这个例子可以帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 67
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日wyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值