生成指定文件名的随机数

# 生成随机数 
# 指定数据类型:整数(1--100000)、浮点数(五位小数,1--100)
# 指定数据量
# 指定文件名
import random,sys

l = len(sys.argv)
if(l == 4):
    form = sys.argv[1]
    filename = sys.argv[3]
    if(form == "int"):
        n = int(sys.argv[2])
        fp = open(filename,"w")
        for i in range(n-1):
            a = random.randint(1,100000)
            fp.write(str(a)+' ')
        a = random.randint(1,100000)
        fp.write(str(a))
        fp.close()
        print("Success !!")
    elif(form == "float"):
        n = int(sys.argv[2])
        fp = open(filename,"w")
        for i in range(n-1):
            a = round(random.uniform(1.0,100.0),5)
            fp.write(str(a)+' ')
        a = round(random.uniform(1.0,100.0),5)
        fp.write(str(a))
        fp.close()
        print("Success !!")
    else:
        print("Error!!")
else:
    print("Error!!")
    print("Usage: python datagen.py int/float DataNumber filename")

针对spdz,生成随机数到Input-P*-* 。

# 生成随机数 ,只针对两方的数据生成
# 指定数据类型:整数(1--100000)、浮点数(五位小数,1--100)
# 指定数据量
# 指定线程数量

import random,sys

l = len(sys.argv)
if(l == 4):
    form = sys.argv[1]
    threadnum = int(sys.argv[3])
    for tn in range(threadnum+1):
        filename0 = "Input-P0-"+str(tn)
        filename1 = "Input-P1-"+str(tn)
        if(form == "int"):
            n = int(sys.argv[2])
            fp = open(filename0,"w")
            for i in range(n-1):
                a = random.randint(1,100000)
                fp.write(str(a)+' ')
            a = random.randint(1,100000)
            fp.write(str(a))
            fp.close()

            fp = open(filename1,"w")
            for i in range(n-1):
                a = random.randint(1,100000)
                fp.write(str(a)+' ')
            a = random.randint(1,100000)
            fp.write(str(a))
            fp.close()
            print("Success !!")
        elif(form == "float"):
            n = int(sys.argv[2])
            fp = open(filename0,"w")
            for i in range(n-1):
                a = round(random.uniform(1.0,100.0),5)
                fp.write(str(a)+' ')
            a = round(random.uniform(1.0,100.0),5)
            fp.write(str(a))
            fp.close()

            fp = open(filename1,"w")
            for i in range(n-1):
                a = round(random.uniform(1.0,100.0),5)
                fp.write(str(a)+' ')
            a = round(random.uniform(1.0,100.0),5)
            fp.write(str(a))
            fp.close()
            print("Success !!")
        else:
            print("Error!!")
else:
    print("Error!!")
    print("Usage: python datagen.py int/float DataNumber ThreadNumber")

更多推荐

Python 生成随机数