import getopt
import sys
import uuid
import hashlib
import csv
def getIds(totals,encrypt):
seed=set()
for i in range(totals):
uid=uuid.uuid1()
if encrypt:
encrypt_id=hashlib.sha256((str(uid)+"saltValue").encode("utf-8")).hexdigest()
seed.add(encrypt_id)
else: seed.add(str(uid).replace('-',''))
return seed
def gen_Datasets():
guest,host,intersect,encrypt_mode=getDataNum()
ids=list(getIds(intersect+host+guest,encrypt=encrypt_mode))
dataset_intersect=ids[:intersect]
dataset_host=ids[intersect:host]
dataset_host.extend(dataset_intersect)
dataset_guest=ids[intersect:guest]
dataset_guest.extend(dataset_intersect)
print(len(dataset_intersect),len(dataset_host),len(dataset_guest)) write_csvtb("./intersect.csv",dataset_intersect)
write_csvtb("./host_a.csv", dataset_intersect)
write_csvtb("./guest_b.csv", dataset_intersect)
print("finish all write ")
# with open("./intersect.txt","w")as i:
# for line in dataset_intersect:
# print(line)
# i.writelines(line)
# print("finish intersect========")
# with open("./host_a.txt","w") as h:
# for line in dataset_host:
# print(line)
# h.write(line)
# print("finsh host===============")
# with open("./guest_b.txt","w") as g:
# for line in dataset_guest:
# # print(line)
# g.write(line)
# print("finish guest=======")
def getDataNum():
def usage():
print("examples:-m: --help \n-e or --encrypt=: sha256\n-i or --intersect=: intersect datasets number\n-g or --guest : guest number\n -h or --host : host dataset number ")
opts, args = getopt.getopt(sys.argv[1:], '-m-i:g:h:e:', ['help', 'host=', 'guest=','intersect=','encrypt='])
guest,host,intersect=None,None,None
encrypt = False
for opt_name, opt_value in opts: if opt_name in ('-m', '--help'):
usage()
sys.exit()
if opt_name in ('-g', '--guest'):
guest = int(opt_value)
if opt_name in ('-h', '--host'):
host = int(opt_value)
if opt_name in ('-i','--intersect'):
intersect=int(opt_value)
if opt_name in('-e','--encrypt'):
if int(opt_value)==1:
encrypt=True
elif int(opt_value)==0:
encrypt=False
else:
raise ValueError("encrypt must between 0 and 1")
return guest,host,intersect,encrypt def write_csvtb(path,dt):
with open(path,"w",newline='')as f:
writer=csv.writer(f)
for i in dt:
writer.writerow([i]) if __name__ == '__main__':
gen_Datasets()

  

encypt dataset的更多相关文章

  1. HTML5 数据集属性dataset

    有时候在HTML元素上绑定一些额外信息,特别是JS选取操作这些元素时特别有帮助.通常我们会使用getAttribute()和setAttribute()来读和写非标题属性的值.但为此付出的代价是文档将 ...

  2. C#读取Excel,或者多个excel表,返回dataset

    把excel 表作为一个数据源进行读取 /// <summary> /// 读取Excel单个Sheet /// </summary> /// <param name=& ...

  3. DataTable DataRow DataColumn DataSet

    1.DataTable 数据表(内存) 2.DataRow DataTable 的行 3.DataColumn DataTable 的列 4.DataSet 内存中的缓存

  4. C# DataSet装换为泛型集合

    1.DataSet装换为泛型集合(注意T实体的属性其字段类型与dataset字段类型一一对应) #region DataSet装换为泛型集合 /// <summary> /// 利用反射和 ...

  5. 读取Simulink中Dataset类型的数据

    http://files.cnblogs.com/files/pursuiting/%E5%80%92%E7%AB%8B%E6%91%86%E6%8E%A7%E5%88%B6%E7%B3%BB%E7% ...

  6. RDD/Dataset/DataFrame互转

    1.RDD -> Dataset val ds = rdd.toDS() 2.RDD -> DataFrame val df = spark.read.json(rdd) 3.Datase ...

  7. asp.net dataset 判断是否为空 ?

    1,if(ds == null) 这是判断内存中的数据集是否为空,说明DATASET为空,行和列都不存在!! 2,if(ds.Tables.Count == 0) 这应该是在内存中存在一个DATASE ...

  8. C#遍历DataSet中数据的几种方法总结

    //多表多行多列的情况foreach (DataTable dt in YourDataset.Tables) //遍历所有的datatable{foreach (DataRow dr in dt.R ...

  9. c#解析XML到DATASET及dataset转为xml文件函数

    //将xml对象内容字符串转换为DataSet         public static DataSet ConvertXMLToDataSet(string xmlData)         { ...

随机推荐

  1. Python反编译调用有道翻译(附完整代码)

         网易有道翻译是一款非常优秀的产品,他们的神经网络翻译真的挺无敌.无奈有道客户端实在是太难用了,而且在某些具体场景 (比如对网站进行批量翻译) 无法使用,而有道的云服务又特别的贵,一般人是无法 ...

  2. Python学习(七)——匿名函数、map函数、filter函数、reduce函数与其他内置函数

    匿名函数 lambda x: x + 1 # lambda:定义匿名函数的关键字 # x:形参 # x+1:程序处理逻辑 fun = lambda x: x + 1 print(fun(5)) #6 ...

  3. Flutter 中的常见的按钮组件 以及自 定义按钮组件

    一.Flutter 中的按钮组件介绍   Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton.   IconButton.Outlin ...

  4. go基础_控制语句

    if控制语句 说明:(1)if后面的条件语句不用加括号 (2)if后面可以跟一个简单的初始化语句,并以分号分割,初始化语句中的变量的作用域是整个if语句块 (3)if语句的条件语句需要尽量简单 (4) ...

  5. redis环境搭建学习笔记

    学习环境为windows.java环境 一.学习教程: 1.菜鸟教程:http://www.runoob.com/redis/redis-tutorial.html 2.redis中文网:http:/ ...

  6. .net core 通过代码创建数据库表

    0.结构: 1.API using System; using System.Collections.Generic; using System.IO; using System.Linq; usin ...

  7. 树莓派安装中文输入法Fcitx及Google拼音输入法

    本来是想给树莓派安装搜狗输入法的, 搜狗输入法Linux版:https://pinyin.sogou.com/linux/?r=pinyin 但是一直安装不成功,后面发现原来是系统架构不同导致的,搜狗 ...

  8. RTT学习之sensor设备

    Sensor设备的常用操作: 首先查找传感器设置获取设备句柄.rt_device_find 以轮询.FIFO.中断.任意一种方式打开传感器,中断和FIFO需要设置接收回调函数(释放一个信号量给接收线程 ...

  9. java 限制每隔15分钟才允许执行一次程序

    由于公司订餐平台,有个用户催单业务,每当用户点击催单按钮时,商家就会收到消息提示,如果用户频繁的发起催单请求,这样商家就会不停的收到消息提醒,所以想限制用户至少每隔15分钟才可以催单一次 我采取了以下 ...

  10. 《记一次Linux被入侵全过程》阅读笔记

    此前从未了解过关于网络安全相关方面的内容,仅仅知道安全性是软件必不可少的质量属性之一,而由于自己所做项目对安全性需求基本为无,所以很少对此进行关注.今天看到作者系统被入侵的经验,于是点开来读,以积累他 ...