2012-02-20 62 views
0

我想文件內容從一個文件複製到另一個文件內容:不能在python複製在Windows

srcp = './output/name.jar' 
dstp = './output/name' 
os.remove(dstp) 
src = open(srcp, 'r') 
dst = open(dstp, 'w+b') 
shutil.copyfileobj(src, dst) 

src.close() 
dst.close() 

print os.path.getsize(srcp) 
print os.path.getsize(dstp) 

結果是:

213815 
3896 

當我指定的長度參數在shutil.copyfileobj copid大小變化,但也錯了,每個length削減恆定。

shutil.copyfile工作正常,但我需要複製內容,因爲我的代碼複製文件內容之前的另一個信息。在這個測試案例中,我只是試圖複製。

系統:贏得7 X32

+6

爲什麼你使用二進制模式來寫,但「文本模式」來讀? – Gandaro 2012-02-20 15:15:47

+0

@Gandaro你爲什麼用評論模式回答?所以我現在得到了你的分數點:-) – glglgl 2012-02-21 13:46:10

回答

2

你不同意的文件模式。

src = open(srcp, 'r') 
dst = open(dstp, 'w+b') 

您應該使用'rb'進行閱讀。否則,換行符被視爲錯誤,並且0x1A被識別爲EOF。