我们说我有一个包含两列的csv文件:
HEX;TITLE
0xAB;BN4
0xAC;ZF4
0xAD;ET6
我有一个python脚本,它读取csv并将每个十六进制转换为照片,并将其写入jpeg。这是脚本,因此您可以看到它的作用:
import binascii
import os
count = 0
with open('photos.txt', 'r') as f:
for i in f:
count = count + 1
photo = i[2:]
cleaned = photo.strip("\r\n")
transform = binascii.a2b_hex(cleaned)
with open("{}.jpg".format(count), 'wb') as output:
output.write(transform)
f.close()
我的脚本中的计数为文件命名,它是增量的。在文件夹中我将看到:1.jpeg,2.jpeg,3.jpeg等等。
但我的问题是:如何将这些文件命名为csv中相应的TITLE值?这样第一个文件将是BN4.jpeg,第二个文件是ZF4.jpeg?
仅供参考:输入文件当前有一列包含上述脚本的十六进制。
答案 0 :(得分:0)
使用csv
模块获取2个单独的字段。无需strip
,只需在阅读时解压缩数据:
with open('photos.csv', 'r') as f:
cr = csv.reader(f,delimiter=";")
for photo,filename in cr:
transform = binascii.a2b_hex(photo[2:])
with open("{}.jpg".format(filename), 'wb') as output:
output.write(transform)