Как получить все значения словаря в одном выводе для слабого сообщения API в python - PullRequest
2 голосов
/ 17 марта 2020

Я использую слабый API с помощью скрипта python для отправки моего выходного значения в мой слабый канал

мои значения словаря не могут отправлять один выход, и его l oop один за другим отправляет слабый канал

Он создавал новое сообщение при каждом выходном значении l oop, так как получить одно выходное сообщение

import glob
import time
import subprocess
from slacker  import Slacker
from datetime import datetime, timedelta
yesterday = datetime.now() - timedelta(days=3)
dates = yesterday.strftime('%y%m%d')
log_directory = "/Users/log-{}.csv".format(dates)
text_files = glob.glob("/Users/URL-{}.txt".format(dates))
for kk in text_files:
    slack_value = set()
    with open(kk, 'r') as f:
        mals = []
        pals = []
        for k in f:
            i = k.strip()
            pattern = ['malware']
            if any(name in i for name in pattern):
                if slack_value !='':
                    slack_value.add(i)

        for all_urls in sorted(slack_value):
            ss = all_urls
            patt = ['vol.com','www.vol.com']
            if any(rem not in ss for rem in patt):
                mals.append(ss)
        if mals:
            final_urls = []
            for mal_sp in mals:
                ma = mal_sp.split(' ')[0]
                pattern = ['vol.com']
                if any(name not in ma for name in pattern):
                    out = subprocess.check_output("cat {} | grep -v -e '407' | grep '{}' | uniq"
                                           .format(log_directory,ma),
                                           universal_newlines=True, shell=True)
                    pal = out.strip()
                    pals.append(pal)
            for key in mals:
                url_dict = {}
                for value in pals:
                    url_dict[key] = value
                    pals.remove(value)
                    break
            slack_token = Slacker("token")
            message = "{0} HTTP-accessURL \t:warning: pa malware Category :warning: \n{1} " \
                          "\n\n ```{2}``` ".format(dates,url_dict.keys(),url_dict.values())
            slack_token.chat.post_message('#ttest', message)
        else:
            exit()

...