寫程序,實現復制文件功能......
要求:
1) 要考慮關閉文件問題
2) 要考慮超大文件復制問題
3) 要能復制二進制文件(如:/usr/bin/python3 等文件)
此題需要考慮文件是否可以打開,保證就算打不開程序也不會直接崩潰。
在面對超大文件時是否有一次讀取的能力,如果不行計算機內存不夠會導致卡頓,所以需要設置緩沖區來進行存儲
有些文件並不全是文本文件,在遇到別的數據文件時需要注意功能是否還可以實現
以下為我的Python代碼實現
def from_file(filename1,filename2): try: a=open(filename1,'rb') try: try: x=open(filename2,'wb') try: a.seek(0,2) c=a.tell() d=0 a.seek(0,0) while True: if c>4096: b= a.read(4096) else: b=a.read() print(b) x.write(b) x.flush() break c=a.tell() print(b) x.write(b) x.flush() d+=1 a.close() x.close() finally: x.close() except OSError: print("打開目標文件失敗") finally: a.close() except OSError: print("打開源文件失敗")
下面是進行輸入,可以實現不同目錄下的復制
n=input() m=input() from_file(n,m)