寫程序,實現復制文件功能......
要求:
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)
