ゼロから構築しているテスト用の一連のファイルを書き込もうとしています。データペイロードビルダーの出力は文字列型であり、文字列をファイルに直接書き込むのに苦労しています。
ペイロードビルダーは16進値のみを使用し、反復ごとに1バイトを追加するだけです。
私が試した「書き込み」関数はすべて、文字列の書き込みに失敗するか、文字列自体ではなく、文字列のASCIIコードを記述します...
データペイロードと同じファイル名の一連のファイルを作成したい(たとえば、ファイルff.txtにバイト0xffが含まれている)
def doMakeData(counter):
dataPayload = "%X" %counter
if len(dataPayload)%2==1:
dataPayload = str('0') + str(dataPayload)
fileName = path+str(dataPayload)+".txt"
return dataPayload, fileName
def doFilenameMaker(counter):
counter += 1
return counter
def saveFile(dataPayload, fileName):
# with open(fileName, "w") as text_file:
# text_file.write("%s"%dataPayload) #this just writes the ASCII for the string
f = file(fileName, 'wb')
dataPayload.write(f) #this also writes the ASCII for the string
f.close()
return
if __name__ == "__main__":
path = "C:\Users\me\Desktop\output\\"
counter = 0
iterator = 100
while counter < iterator:
counter = doFilenameMaker(counter)
dataPayload, fileName = doMakeData(counter)
print type(dataPayload)
saveFile(dataPayload, fileName)