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. windows系统下,gpu开发环境部署

    1,安装python,使用anaconda或者直接用python.exe安装都可以.我用的是python3.6版的 对于相关的程序包,比如tensorflow或者opencv等,anaconda可以在 ...

  2. php对字符串的操作3之 字符类型转换详解

    所有的数据输出到屏幕上,实际上被隐式的转换成了字符型,首先了解下各种数据类型的字符串表示 <?php echo 300,'<hr>'; echo true,'<hr>'; ...

  3. DP_1d1d诗人小G

    显然:f[i]=min{f[j]+(s[i]-s[j]+i-j-1-l)^p} 此题可以基于决策单调优化 证明,反正我现在不打算学 实际上就是双向队列 不停弹出队头的元素,直到当前位置在队头元素最优的 ...

  4. [2020BUAA软工助教]第1次个人作业

    热身作业(阅读) 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教室来听课有意思么 ...

  5. 问题 A: 【贪心】排队接水

    问题 A: [贪心]排队接水 时间限制: 1 Sec  内存限制: 128 MB[命题人:外部导入] 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种 ...

  6. mysql中的文件排序(filesort)

    在MySQL中的ORDER BY有两种排序实现方式: 1. 利用有序索引获取有序数据 2. 文件排序 在explain中分析查询的时候,利用有序索引获取有序数据显示Using index ,文件排序显 ...

  7. python中写入txt文件需要换行,以及\r 和\n

    在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行 如果直接用 f.write(’\n’)只会在后面打印一个字符串’\n’,而不是换行’需要用 f.write(’\r ...

  8. RS422接口与RS485接口

    RS422具体接线参考网站 RS485接口 RS485设备为半双工设备,RS485收发器信号相关引脚包括控制引脚.485A.485B,其中控制引脚的高低电平决定当前处于接收模式还是发送模式. RS48 ...

  9. T114048 [RC-02] yltx数对 (打表)

    这题如果全部打表的话,文件大小会有65kb,超了,所以只打出一半,前一半用程序算就可以了,并不会超时. 如果算法优化的好,其实可以打的更少. #include <bits/stdc++.h> ...

  10. 【代码学习】PYTHON 线程

    一.使用threading模块多线程执行 可以明显看出使用了多线程并发的操作,花费时间要短很多 创建好的线程,需要调用start()方法来启动 #coding=utf-8 import threadi ...