python文件操作--复制文件

##练习: 复制文件

def read_file():
    try:
        f = open('d:\ip1.log','r')
        f_copy = open('d:\ip2.log','a')
        try:
            while True:
                s = f.readline()
                if not s:
                    break
                f_copy.write(str(s))
        finally:
            f_copy.close()
            f.close()
            print("文件已关闭")
    except IOError:
        print("文件打开失败")

read_file()
print("programing end!")
##练习: 复制文件--与上面等效
# with语句
# 语法: with 表达式1 [as variables 1], 表达式2 [as 变量名2], ...
# 作用: 对于资源访问的场合,确保使用过程中,不管是否发生异常,都会执行必要的清理操作,并释放资源;
# 如,    文件的打开关闭、线程中所的自动获取和释放,键盘鼠标等共享设备
# with 语句和try-finally 相似,无论异常与否都会释放资源, as子句用于绑定表达式创建的对象



def copy_file(file_source, file_target):
    try:
        with open(file_source,'rb') as f, open(file_target,'ab') as f_copy:
            while True:
                s = f.read(4096)
                if not s:
                    break
                f_copy.write(s)
            print("文件复制成功")
    except:
        print("文件复制失败")


def main():
    file_source = input('请输入源文件:')
    file_target = input('请输入目标文件:')
    copy_file(file_source,file_target)
    print("programing end!")

main()

 

你可能感兴趣的:(Python)