写入python文件前的唯一字符串

2024-05-29 02:38:28 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么这个不行?在将Rest api写入文件之前,我想对其结果进行唯一化--

MISP_HOST="https://192.168.1.8"
API_KEY="asdfasdfas"
EXPORT_DATA="attributes/text/download/md5"
OUTPUT_FILE="md5-"+today

def main():
    URL="%s/%s" % (MISP_HOST, EXPORT_DATA)
    request = urllib2.Request(URL)
    f = open(OUTPUT_FILE,'w') 
    request.add_header('Authorization', API_KEY)
    data = urllib2.urlopen(request).read()
    set(data)
    print type(data)
    f.write(data)
    f.close()

它工作没有错误,但数据绝对不是唯一的。我不想在bash里这么做。你能解释一下为什么它不起作用吗?多谢!!!你知道吗


Tags: keyrestapihosturloutputdatarequest
1条回答
网友
1楼 · 发布于 2024-05-29 02:38:28

如果结果是纯文本,则可以使用正则表达式查找文本中的所有单词,然后从中构建一个集合。本例还降低了单词的大小写,因此集合不区分大小写,并将每个单词写在自己的行上。你知道吗

import re

MISP_HOST="https://192.168.1.8"
API_KEY="asdfasdfas"
EXPORT_DATA="attributes/text/download/md5"
OUTPUT_FILE="md5-"+today
def main():
    URL="%s/%s" % (MISP_HOST, EXPORT_DATA)
    request = urllib2.Request(URL)
    f = open(OUTPUT_FILE,'w') 
    request.add_header('Authorization', API_KEY)
    data = urllib2.urlopen(request).read()
    unique = set(word.lower() for word in re.findall(r'\w+', data))
    # that could be expanded to
    # wordlist = re.findall(r'\w+', data)
    # unique = set(word.lower() for word in wordlist)
    print type(unique)
    f.write('\n'.join(unique))
    f.close()

相关问题 更多 >

    热门问题