python脚本,完成mulan项目的输入文件生成

Mulval推理规则介绍以及攻击图生成实例 Title 文章目录一、Mulval谓词(一)谓词介绍(二)推理规则二、Mulval实战三、Mulval自定义规则 一、Mulval谓词 (一)谓词介绍 1.漏洞警告 vulExists(webServer, 'CAN-2002-0392', httpd). 表示扫描器发现了机器 web 服务器上的编号为CVE- CAN-2002-0392 的漏洞。漏洞涉及的程序为httpd。 vulProperty('CAN-2002-0392', remoteExploit, privilegeEscalation 阅读详情

这个脚本是我要完成特定任务而写的,可以提高我的科研效率,如果你是python语言的爱好者,或者是多标签分类的研究生,获取会有一点启示。但说实话,这个任务太具体,不具有普遍性,如果没有具体的正确格式文件,甚至很难跑通,所以不要抱有太大的希望,如果只是感兴趣,倒是还行,我的目的仅是为我以后的查阅而已。

代码如下

#! /usr/bin/python
# coding=utf-8

# 此脚本的功能是:将idea生成的词向量自动生成相应的arff文件和xml文件
# #   步骤是:  1. 去除词向量中的 '['  ']'  和 ','
# #           2. 将词向量与标签拼接
# #           3. 写arff文件和xml文件

# 这个脚本使用的时候需注意: 1.修改三个参数即可: min_dimension、max_dimension、size(具体意义看注释)
#                       2.目录文件需清空(这两个文件为该脚本的输出):/root/多标签分类实验文件/词向量+标签组成的记录/中英文、数字和.和
#                                                           /root/多标签分类实验文件/arff和xml文件/中英文、数字和.
#                       3.该脚本输入为词向量,文件目录为:/root/多标签分类实验文件/词向量文件/中英文、数字和.
#                                          这个文件一定要注意文件名的格式正确,内容格式正确,该文件来源于spark word2vec

import re

import time

import sys

min_dimension = 10  # 词向量最小维数
max_dimension = 850  # 词向量最大维数
size = 10  # 词向量维数间隔
global_x = min_dimension  # 写arff文件和xml文件的迭代索引(从最小维数到最大维数)
label_count = 70  # 标签个数

my_pattern1 = re.compile("[\[\]]")
my_pattern2 = re.compile("[,]")

# 缓冲区
buf1 = []  # 词频信息去掉数字.txt
buf2 = []  # 校对替换终2#.txt
buf3 = []  # 词向量txt文件

# i加的数,即i = i + number
def add():
    global global_x
    global_x += size

start_time = str(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print(start_time + "------开始步骤一和步骤二......")
# -----------------------------------------------分割线--------------------------------------------------------------
while global_x <= max_dimension:
    # 1.去除词向量中的 '['  ']'  和 ','
    time.sleep(1)
    print('......')
    time.sleep(2)
    print('......')
    time.sleep(0.5)
    print('......')
    time.sleep(0.2)
    print('......')
    print('处理中。。请不要关闭')

    # ----------------------------------------------------------------分割线----------------------------------------------------
    # 2.将词向量与标签拼接
    term_fre_file = open('/root/多标签分类实验文件/拼接标签用到的文件/词频信息去掉数字.txt', 'r')
    term_place_file = open('/root/多标签分类实验文件/拼接标签用到的文件/校对替换终2#.txt', 'r')
    term_file = open('/root/多标签分类实验文件/词向量文件/中英文、数字和./1-11303词向量1_没有符号' + str(global_x) + '.txt', 'r')
    result_file = open('/root/多标签分类实验文件/词向量+标签组成的记录/中英文、数字和./1-11303词向量+标签1_没有符号' + str(global_x) + '.txt', 'a')

    for data in term_fre_file.readlines():
        buf1.append(data)
    for data in term_place_file.readlines():
        buf2.append(data)
    for data in term_file.readlines():
        result = my_pattern2.sub(' ', my_pattern1.sub('', str(data).strip()))
        buf3.append(result)
    term_fre_file.close()
    term_place_file.close()
    term_file.close()

    for x in range(0, len(buf2)):
        ss = str(buf2[x])[7:].split(' ')
        sss = buf3[x]
        for y in range(0, label_count):
            s = '0'
            for z in range(len(ss)):
                if str(ss[z]).strip() == str(buf1[y]).strip():
                    s = '1'
            temp = ' ' + s
            sss += temp
        if x != len(buf2) - 1:
            result_file.write(sss + '\n')
        else:
            result_file.write(sss)
    result_file.flush()
    result_file.close()
    buf1.clear()
    buf2.clear()
    buf3.clear()
    print(global_x)
    add()

global_x = min_dimension
time.sleep(5)


print("步骤一和步骤二完成.......")
time.sleep(5)
print("开始步骤三.......")
time.sleep(5)  # 保证文件前面的文件写完
print('处理中。。请不要关闭')
time.sleep(2)
# --------------------------------------------------------------分割线-----------------------------------------------------------------
# 3.写arff文件和xml文件
while global_x <= max_dimension:
    # save_arff_file = open('/root/eclipse-workspace/mulan/' + str(i) + '-' + str(label_count) + '再除噪_没有符号.arff', 'a')
    save_arff_file = open('/root/多标签分类实验文件/arff和xml文件/中英文、数字和./' + str(global_x) + '-' + str(label_count) + '再除噪_没有符号.arff', 'a')
    # save_xml_file = open('/root/eclipse-workspace/mulan/' + str(i) + '-' + str(label_count) + '再除噪_没有符号.xml', 'a')
    save_xml_file = open('/root/多标签分类实验文件/arff和xml文件/中英文、数字和./' + str(global_x) + '-' + str(label_count) + '再除噪_没有符号.xml', 'a')

    # --------------开始写arff文件------------------------------------------------------------------
    save_arff_file.write("@relation Mymedical\n\n")

    for x in range(1, global_x + 1):
        save_arff_file.write("@attribute feature_" + str(x) + " numeric\n")

    for y in range(1, label_count + 1):
        save_arff_file.write('@attribute label_' + str(y) + ' {0,1}\n')
    save_arff_file.write('\n')
    save_arff_file.write('@data\n')

    # 数据部分文件路径
    src_file_path = '/root/多标签分类实验文件/词向量+标签组成的记录/中英文、数字和./1-11303词向量+标签1_没有符号' + str(global_x) + '.txt'
    data_file = open(src_file_path, 'r')
    for data_line in data_file.readlines():
        save_arff_file.write(str(data_line))
    data_file.close()
    save_arff_file.flush()
    save_arff_file.close()

    # --------------开始写xml文件-------------------------------------------------------------------
    save_xml_file.write('''<?xml version="1.0" encoding="utf-8"?>\n<labels xmlns="http://mulan.sourceforge.net/labels">\n''')
    for z in range(1, label_count + 1):
        save_xml_file.write('''    <label name="label_''' + str(z) + '''"></label>\n''')
    save_xml_file.write('</labels>')
    save_xml_file.flush()
    save_xml_file.close()

    add()

end_time = str(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print(end_time + '任务完成')
year = int(end_time[:4]) - int(start_time[:4])
month = int(end_time[5:7]) - int(start_time[5:7])
day = int(end_time[8:10]) - int(start_time[8:10])
hour = int(end_time[11:13]) - int(start_time[11:13])
minitue = int(end_time[14:16]) - int(start_time[14:16])
second = int(end_time[17:]) - int(start_time[17:])
if second < 0:
    second = 60 - second
    minitue = minitue - 1
if minitue < 0:
    minitue = 60 - minitue
    hour = hour - 1
print('共用时:' + str(year) + '年 ' + str(month) + '月 ' + str(day) + '日 '
      + str(hour) + '时 ' + str(minitue) +  '分 ' + str(second) + '秒')
python脚本自动生成需要文件 python脚本自动生成需要文件在工作中我们经常需要通过一个文件写出另外一个文件,然而既然是对应关系肯定可以总结规律让计算机帮我们完成,今天我们就通过一个通用文件生成的python脚本来实现这个功能,将大家从每日重复的劳动中解放 阅读详情

相关推荐

Python 处理XML文件并生成部分CAPL脚本简单总结

Python处理XML并生成CAPL脚本

qq_42184299的博客 1505

Weka和Mulan的介绍和理解

详细介绍Weka和Mulan

u011274209的专栏 3209

MULVAL安装步骤.txt

用虚拟机在ubuntu环境下安装MULVAL步骤,内含详细安装步骤,必要软件、插件下载链接,可能遇到的相关问题解决方案

import python as mulan_深度学习(一)搭建 python 环境

简介python 用来编码的包(package)数不胜数,常用的包可能有几十个,自己配置的话估计会不胜其烦。当然,用什么就下什么的话也不是很麻烦,只是要费点时间。但是,我推荐怎么简单怎么来,毕竟搭配环境只是使用 python 的准备工作而已。第一步:安装 python首先,要下载 Anaconda 。这是一个开源的 python 发行版本,其中包含了numpy、scipy等180多个科学包及其依赖...

weixin_39634067的博客 173

机器学习多标签工具mulan

机器学习工具软件weka的升级版多标签的学习工具

mulan多标签学习的emotions数据

mulan数据库中的emotions部分。将原本的java数据文件转换为了txt格式和matlab支持的mat格式,训练样本和测试样本已经分类好,适用于进行多标签学习的数据库

【效率工具】一键批量生成项目文件,Python脚本分享

分为 auto_create.py 和 interactive_creator.py 两个脚本auto_create.py:主运行脚本interactive_creator.py:可交互命令行脚本,平时右击运行即可。

大飞记Python的博客 1670

木兰(Mulan)编程语言安装包ulang-0.2.2.exe

近日,中国科学院计算技术研究所计算机体系结构国家重点实验室宣布,由该实验室编译组主导研发的国产编程语言“木兰”正式发布,宣称“木兰”是一款定位于面向智能物联应用、采用最新编程语言设计理念和编译技术的程序设计语言,开发团队致力于将其打造为“智能物联时代的C语言”。

如何生成python文件_python脚本怎么自动生成文件

python脚本自动生成需要文件在工作中我们经常需要通过一个文件写出另外一个文件,然而既然是对应关系肯定可以总结规律让计算机帮我们完成,今天我们就通过一个通用文件生成的python脚本来实现这个功能,将大家从每日重复的劳动中解放!定义一个函数def produceBnf(infilename,outfilename):List=[]with open(infilename,'r') as inf:...

weixin_39821378的博客 1006

mulan-1.3.0(附DataSet)

Mulan是Weka的一个扩展,可以支持多标签的数据挖掘,并且包含各种算法,算法里面还标注了作者和对应的论文,是数据挖掘必备工具!

Clion+platformIO开发ESP32时找不到lib文件中引入第三方库的头文件(头文件下有波浪线),实际编译是成功的解决方法

Clion+platformIO开发ESP引入第三方库文件编译器无法找到.h文件但编译成功

zs5218的博客 1852

使用Python脚本生成.ralf文件生成寄存器模型

(3)读取到寄存器名(regname)不为空(None)时先处理寄存器的部分再处理寄存器的域,因为写入.ralf文件的顺序就是先写reg再是field。(4)按照寄存器名(regname)判断每一个寄存器有几个域(field)。当知道regname不为空(None)时,记录当前行数,开始寻找下一个不为空的名字。找到下一个regname不为空的行数,并与之前记录的作差,并记录下field的个数。(3)写出寄存器的各部分所对应的列,字母是用于后方访问单元格。(2)寄存器模型的sv文件。

qq_42873953的博客 5657

基于R语言的DICE模型实践技术应用;预测不同减排路径下的经济增长、碳排放量、气候变化程度以及社会福利变化

DICE模型是一个动态综合气候经济模型,由诺贝尔经济学奖得主William Nordhaus开发,用于评估气候变化对经济的影响以及不同减排政策的经济成本和效益。以下是一个关于DICE模型在气候变化影响评估中的实际应用案例,结合R语言代码进行讲解。

KY_chenzhao的博客 867

python实现的模板生成脚本

最近项目需要,针对主项目提取一个小的基础版本,供于在新建项目时使用,所以就有这个python模板生成脚本,其作用如下: 1、通过配置文件来控制模板中的数据、格式化的过滤条件 2、执行后会把目录下所有的文件都会执行一篇     #!/usr/bin/python #encoding: utf-8 import json import codecs import os def get_...

上帝De助手 7905

SAP(ERP)工艺路线(Routing)业务视角解析

工艺路线(Routing)也是PP模块,即生产制造模块中最重要核心主数据之一,也是ERP(SAP)顾问,必需从业务与系统深入掌握的重要主数据,它也是整个生产计划与生产流程的重要基础。因为执行步骤只是操作层面的认知,业务顾问需要从业务本质上去理解它,要真正从业务视角理解工艺路线的业务价值,而不仅仅是操作层面的认知。因此将工艺路线理解为“有以上业务本质的理解,然后进到SAP系统中,就容易理解工艺路线(Routing)的每一组成部分结构与功能了,本质就是理解制造企业如何将设计意图转化为物理现实的编码规则。

m0_45197968的博客 1503

【kubeEdge】离线部署

根据k8s的这个规则,可以将节点通过 label 的方式进行分组,比如将某几个节点都打上标签为 name=edge,当调度应用到 edge 节点时,会找到 label 为 edge 的所有节点,根据设置的副本数,将应用启动起来,如果设置的副本数超过了设置 edge 标签的节点数,则多出的将会显示 pending 状态,从而无法启动。清除 keadm init 或 keadm join 造成的影响均可使用 keadm reset,这个操作会删除 /etc/kubeedge 下的文件,如有需要请提前备份。

qq_42944740的博客 1716

python指令生成脚本_详解python脚本自动生成需要文件实例代码

python脚本自动生成需要文件在工作中我们经常需要通过一个文件写出另外一个文件,然而既然是对应关系肯定可以总结规律让计算机帮我们完成,今天我们就通过一个通用文件生成的python脚本来实现这个功能,将大家从每日重复的劳动中解放!定义一个函数def produceBnf(infilename,outfilename):List=[]with open(infilename,'r') as inf:...

weixin_39612057的博客 246

涨点神器:基于YOLOv8的SPD-Conv小目标检测实战教程——让低分辨率场景检测精度飙升

从代码修改到场景落地,每一步都围绕“提升检测精度”这个核心目标,而实际数据也证明了这项技术的强悍——它不是实验室里的花拳绣腿,而是能真正解决工业痛点的涨点神器。在实际场景中,比如无人机巡检的低分辨率航拍图中,对电线、小设备的检测,YOLOv8-SPD的漏检率降低了70%以上。落地时,只需将训练好的YOLOv8-SPD模型部署到边缘设备或云端,即可享受其在小目标、低分辨率场景下的强大性能。的特征融合模块中,通过插入SPD-Conv,让模型在处理小目标时,既能保留空间细节,又能增强通道维度的特征表达。

m0_71589036的博客 157

python运行脚本文件的3种方法

每天学到一个知识点就是赚了

5万+

JEDEC 标准半导体功率循环热阻测试(JESD51 系列)

【代码】JEDEC 标准半导体功率循环热阻测试(JESD51 系列)

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 468

让openclaw接入web端的deepseek或着qwen,使用无限token

🪟 Windows: 提供原生的 PowerShell 一键安装支持!配置过程和官方版本是相同的,唯一的区别就是再选则model时要选择带Browser字样的deepseek或者qwen。安装之前需要先清理官方版本的安装痕迹,否则openclaw版本跳转不到这个中文版本。因为此版本与官方版本存在代差,在配置飞书时可能会出现无法安装飞书的情况。剩下的配置保持和官方版本一致操作即可。选中之后需要进行一次网页端的登录。登录后会出现可选择的model。安装完成后会跳到这个中文界面。涉及到接入飞书机器人的操作。

z1872385的博客 302

python怎么建立脚本文件_python脚本怎么自动生成文件

python脚本自动生成需要文件在工作中我们经常需要通过一个文件写出另外一个文件,然而既然是对应关系肯定可以总结规律让计算机帮我们完成,今天我们就通过一个通用文件生成的python脚本来实现这个功能,将大家从每日重复的劳动中解放!定义一个函数def produceBnf(infilename,outfilename):List=[]with open(infilename,'r') as inf:...

weixin_39611174的博客 296

华为OD机考双机位C卷 - 简单的解压缩算法 (Java & Python & JS & GO & C++ & C)

华为OD机考双机位C卷 - 简单的解压缩算法 , 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 130

拖动文件到python脚本中作为输入参数

拖动文件到python脚本中作为输入参数 windows默认情况下,拖动文件到一个python脚本上面,会把这个python脚本挤走,而不会执行python脚本。因为windows认为python脚本不是一个合法的可拖放的目的对象(drop target) 修改注册表实现拖放文件给python脚本当作输入参数 1.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Python.File] @="Python File" [HKEY

saltor 2179

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

如何生成python项目需要的最小requirements.txt文件?

今天咱们来聊聊 Python 项目中如何生成一个“最小的”文件。我们都知道,当我们开发一个 Python 项目的时候,很多时候都会在一个虚拟环境中进行,这样一来,就能避免不同项目之间的依赖冲突。可有时候,也不一定每次都会特意为项目创建一个独立的虚拟环境,尤其是当我们懒得去设置时,往往会在一个全局的环境中进行开发。比如,大家可能习惯了用conda中的base环境开发项目,这种情况就很常见。问题来了:如何生成这个项目所需要的最小文件呢?也就是说,怎么确保。

weixin_53707653的博客 2069

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

通过bash/python脚本生成docx文件

当然可以!你可以使用一些工具来生成.doc文件,例如或者库。下面是一个示例,展示如何通过 Bash 脚本来生成一个简单的.doc文件。,生成.docx.docx。

完颜振江 1049

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 前端小知识点集锦
下一篇: Matlab学习小结
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值