如何为我的文件命名由4个参数组成?

时间:2017-01-24 12:34:41

标签: python numpy

我已在本出版物中How to give a name for a file?询问如何将'我的迭代次数'作为文件的名称,我有一个很好的答案,但现在我需要给我的文件命名一个组成4个参数,因为这将有助于我做一个简单的解释: 这是我的代码:

for b in Key_file:
    key_16b=b[0:32]
    key128=binascii.unhexlify(key_16b)
Ciphertxt_file = open("C:\\Users\\user\\Win_My_Scripts\\Ciphertexts.txt", "w")
Plaintxt_file = open(r'C:\\Users\\user\\Win_My_Scripts\\Plaintexts.txt', 'r')
for line, a in enumerate(Plaintxt_file):
    plaintxt_16b=a[0:32]
    plaintext=binascii.unhexlify(plaintxt_16b)
    clear_msg=b'\x24'+b'\x73'+plaintext+b'\x74'+key128
    print('Trace number:', line)
    ser.write(clear_msg)
    time.sleep(0.5)
    ciphertext= (ser.read(250))
    print(ciphertext)
    Ciphertxt_file.write(ciphertext)
    dataArray = get_data(['C2'],8000,scope)
    fileName =  r'C:\\Users\\user\\My_resul\\Win_My_Scripts\\file_{}.npy'.format(line) 
    np.save(fileName, dataArray)
ser.close()                # close ports

我需要像这样命名每个文件:

AES_iteration=number_of_iteration_key128=key128_Plaintext=Plaintext1_Ciphertext=ciphertext1

例如:

AES_iteration=1_key128=0c0d0e0f08090a0b0405060700010203_Plaintext=7a8e5dc390781eab8df2c090bf4bebca_Ciphertext=17CFCD13 784AECB0 204375E1 C58ECBC3

通过这种方式,我将确保我的所有文件都已同步,并且我的结果最佳。

如果你能帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:1)

您只需要以另一种方式格式化文件名:

fileName = (r'C:\\Users\\user\\My_resul\\Win_My_Scripts\\'
               'AES_iteration={}_key128={}_Plaintext={}_Ciphertext={}.npy'
               .format(iteration,key128,plaintext,ciphertext))

iterationkey128plaintextciphertext是包含参数的变量(您应该自己定义)。

在"格式化字符串"上调用

.format在格式化字符串中,{}表示应填写的参数。您可以使用参与.format(..)调用的参数填写这些参数。