将输出随机化为文件

时间:2017-05-31 08:16:54

标签: python python-3.x uat

我正在使用Python生成测试数据。

我的整个过程非常适合,但是,我有这段代码。

user

我希望能够做的是填充第4,5,6行,其中包含2,3,4这样的用户信息:

def get_lines():

    line1 = "Document Header - Once per document"
    line2 = "\nDocument Information - Once per document"
    line3 = "\nDocument Information 2 - Once per document"
    line4 = "\nUser information 1"
    line5 = "\nUser Information 1"
    line6 = "\nUser Information 1"
    line7 = "\nDocument Footer - Once per document"

    return line1 + line2 + line3 + line4 + line5 + line6 + line7

但它是随机的,即说我想要10个文件,有些会包含一些用户信息,有些是2个等等3个等...

我正在努力找到一种一致的方式来生产我需要的东西。

谢谢。

编辑:添加了示例消息:ORC OBR和OBX都由UID链接

line1 = "Document Header - Once per document"
line2 = "\nDocument Information - Once per document"
line3 = "\nDocument Information 2 - Once per document"   
line4 = "\nUser information 1"
line5 = "\nUser Information 1"
line6 = "\nUser Information 1"  
line4 = "\nUser information 2"
line5 = "\nUser Information 2"
line6 = "\nUser Information 2"
line4 = "\nUser information 3"
line5 = "\nUser Information 3"
line6 = "\nUser Information 3"
line7 = "\nDocument Footer - Once per document"

2 个答案:

答案 0 :(得分:0)

编辑

我现在看到你提供了样本数据,但我不确定这是否是你期望从get_lines方法得到的所需输出,或者是你要消耗的输入来产生所需的输出get_lines

只需使用要打印的用户标识传递变量即可。您还可以使用random.choice从列表中随机选择一个值,或者生成并传递random.randint

范围内的随机整数
def get_lines(userid):

    line1 = "Document Header - Once per document"
    line2 = "\nDocument Information - Once per document"
    line3 = "\nDocument Information 2 - Once per document"
    line4 = "\nUser information {}".format(userid)
    line5 = "\nUser Information {}".format(userid)
    line6 = "\nUser Information {}".format(userid)
    line7 = "\nDocument Footer - Once per document"

    return line1 + line2 + line3 + line4 + line5 + line6 + line7

userids = [1,2,3,4,5,6,7,8,9]

答案 1 :(得分:0)

你可以喜欢这段代码。

def get_lines():
    line1 = "Document Header - Once per document"
    line2 = "\nDocument Information - Once per document"
    line3 = "\nDocument Information 2 - Once per document"
    line4 = "\nUser information 1"
    line5 = "\nUser Information 1"
    line6 = "\nUser Information 1"
    line7 = "\nDocument Footer - Once per document"

    return setLine(line1, 1) + setLine(line2, 1) + setLine(line3, 1) + setLine(line4, 3)+ setLine(line4, 3, "1", "2")


def setLine(content, iNum = 1, oldStr="", newStr=""):
    strStr = ""
    for ii in range(0, iNum):
    strStr += content.replace(oldStr, newStr)
    return strStr

print(get_lines())

示例代码输出为:

Document Header - Once per document
Document Information - Once per document
Document Information 2 - Once per document
User information 1
User information 1
User information 1
User information 2
User information 2
User information 2