写程序,实现复制文件功能......
要求:
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)