2014-01-29 24 views
0

我想測試基於十六進制格式的文件的加密方法。使用以下代碼:複製文件數據以創建副本

import binascii 
filename = 'file' 
with open(filename, 'rb') as f: 
    content = f.read() 
#content=binascii.hexlify(content) 
file = open('file2', 'w+') 
file.write(content) 

試圖通過將文件的數據複製到新文件來製作文件的副本。它已工作文本文件,PDF格式和類似的格式,甚至MP4,但爲JPG我得到這個:

Error interpreting JPEG image file (Not a JPEG file: starts with 0x66 0x66) 

我不知道它爲什麼會發生。

+0

也許用「wb」而不是「w +」來打開它 –

+0

TNX :)。它工作,但爲什麼? – Parisa

+0

,因爲它的二進制數據,所以你必須打開爲二進制(「b」)...「+」意味着寫和讀...但你只是想要寫...但其二進制數據 –

回答

1

你的目標是創建一個文件的副本?如果是的話,我寧願:

import shutil 
shutil.copyfile('file', 'file2') 
+0

爲簡單起見......儘管我最終懷疑它如此簡單:P –

+0

不......我想修改它們的十六進制代碼,而複製只是一個測試,看看我是否可以創建新的加密文件。 – Parisa

+0

對不起巴黎,我沒有足夠的信息來幫助。仍然不確定你想要什麼,反正好運:-) –