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()

  

最新文章

  1. ++a和a++的区别
  2. 织梦DedeCMS删除所有栏目或文章后,新建ID不从1开始的解决方法
  3. 跨域 HTTP 请求
  4. print neatly 整齐打印 算法导论
  5. 我的第一个wp8小程序
  6. 搭建ftp环境
  7. Theano 在windows下安装
  8. acdream 1154 Lowbit Sum
  9. Java模拟POST表单提交HttpClient操作
  10. 找呀志_使用SQLiteDatabase增删改提供的搜索方法和事务
  11. iOS开发——自定义AlertView
  12. 用PHP,怎么获取PHP.ini中的文件上传最大的字节数。也就是默认的2M
  13. SpringCloud学习之Zuul统一异常处理及回退
  14. Android之Realm详解
  15. [20180603]Python读写csv
  16. kafka消息存储与partition副本原理
  17. DAX Editor VSIX project
  18. TensorFlow笔记-04-神经网络的实现过程,前向传播
  19. hive数据倾斜问题
  20. skip-external-locking --mysql配置说明

热门文章

  1. css动画效果之transition(动画效果属性)
  2. CDH安装错误集锦
  3. 吴裕雄 python 机器学习——数据预处理标准化StandardScaler模型
  4. 【原】接口mock作用
  5. Go包
  6. H5拖动事件复习
  7. 方便的 IcoMoon 图标字体
  8. JS高级---原型的引入,原型添加的方法解决数据共享
  9. SPOJ Distinct Substrings
  10. 【Struts 文件上传下载】