【问题标题】:I can't figure out how to get this script to print a list of infected files to an output file我不知道如何让这个脚本将受感染文件的列表打印到输出文件
【发布时间】:2019-12-08 02:12:06
【问题描述】:

我有这个防病毒任务来查找特定病毒SigData = Infected。我不知道如何完成此脚本以使其将受感染文件列表打印到输出文件。

我试过os.listdir(path),但它说路径没有定义。我不知道如何从这段代码中打印我需要的列表:

import os
import inspect
SigData="Infected"


def search(path): #Searches for files in path.
    filestodisinfect = []
    filelist = os.listdir(path)
    for filename in filelist:
        if os.path.isdir(path+"/"+filename): #Looks for folder
            filestodisinfect.extend(search(path+"/"+filename))
        elif filename[-3:] == ".py": #Searches for python scripts to disinfect
            for line in open(path+"/"+filename):
                if SigData in line:
                    if infected == True:
                        filestodisinfect.append(path+"/"+filename)
    return filestodisinfect

我希望这个脚本能够从它的 sigdata 中找到病毒,我已经这样做了,但是需要它来将受感染文件的列表打印到输出文件中。

【问题讨论】:

  • for item in filestodisinfect: print(item)
  • 您在代码中多次使用path+"/"+filename,因此您可以分配给变量并使用变量fullpath = path+"/"+filename - 或首选fullpath = os.path.join(path, filename))
  • 如果你想检查子文件夹中的所有文件,那么你可以使用os.walk(),它也提供子文件夹中的文件和目录——所以你不必使用递归。
  • 你的函数返回一个列表。只需调用函数,将结果存储在变量中,然后遍历该变量中的列表并打印(到文件或控制台)。

标签: python python-2.7 list directory


【解决方案1】:

我用过这个:

mylist=('')
myfile=open('output.txt','w') #Creates file to save list
for item in mylist:
    print >>myfile, item
myfile.close()

它创建了一个输出 txt 文件,但它不会将受感染的文件放入该文件?我怎样才能从中实现这一目标。对不起,我是 python 新手,很烂。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 2022-01-08
    • 2021-09-18
    • 2014-02-11
    相关资源
    最近更新 更多