我已在本出版物中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
通过这种方式,我将确保我的所有文件都已同步,并且我的结果最佳。
如果你能帮助我,我将非常感激。
答案 0 :(得分:1)
您只需要以另一种方式格式化文件名:
fileName = (r'C:\\Users\\user\\My_resul\\Win_My_Scripts\\'
'AES_iteration={}_key128={}_Plaintext={}_Ciphertext={}.npy'
.format(iteration,key128,plaintext,ciphertext))
iteration
,key128
,plaintext
和ciphertext
是包含参数的变量(您应该自己定义)。
.format
在格式化字符串中,{}
表示应填写的参数。您可以使用参与.format(..)
调用的参数填写这些参数。