zoukankan      html  css  js  c++  java
  • 70.应用1:制作文件的备份

    应用1:制作文件的备份

    任务描述

    • 输入文件的名字,然后程序自动完成对文件进行备份

     

    参考代码

    # 提示输入文件
    oldFileName = input("请输入要拷贝的文件名字:")
    
    # 以读的方式打开文件
    oldFile = open(oldFileName,'rb')
    
    # 提取文件的后缀
    fileFlagNum = oldFileName.rfind('.')
    if fileFlagNum > 0:
        fileFlag = oldFileName[fileFlagNum:]
    
    # 组织新的文件名字
    newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag
    
    # 创建新文件
    newFile = open(newFileName, 'wb')
    
    # 把旧文件中的数据,一行一行的进行复制到新文件中
    for lineContent in oldFile.readlines():
        newFile.write(lineContent)
    
    # 关闭文件
    oldFile.close()
    newFile.close()

    例子1:

    # 01: 首先先创建一个源文件 然后写入数据
    f = open("中国.txt", "w")
    # 写入数据
    f.write("456789hi9h9udn")
    # 关闭文件
    f.close()

    例子2:

    # 02: 打开源文件 读取源文件所有的数据 保存到一个变量中
    old_f = open("中国.txt", "r")
    # 读取数据
    # 如果文件比较大 一次读取 会导致内存暴涨
    ret = old_f.read()
    # 关闭文件
    old_f.close()
    
    # 03: 创建一个新的文件(中国[复件].txt) 把数据写入到新文件中
    new_f = open("中国[复件].txt", "w")
    # 写入数据
    new_f.write(ret)
    # 关闭文件
    new_f.close()

    例子3:

    # 04: 以上代码进行优化 防止内存暴涨
    # 解决方案: 边读边写
    # 打开源文件
    old_f = open("中国.txt", "r")
    # 创建新文件
    new_f = open("中国[复件].txt", "w")
    # 创建一个死循环
    while True:
        # 每次读一个字符
        ret = old_f.read(1)
        if ret:
            # 写入数据
            new_f.write(ret)
        else:
            # 完成了读写
            break
    # 关闭两个文件
    old_f.close()
    new_f.close()
    
    
    # python 中 非零即真(True) 零则假(False)
    # if 0:
    #     print("哈哈")
    # 认为if语句判断字符串的时候外面有一个len函数
    # if "":
    #     print("哈哈")
  • 相关阅读:
    ContentProvider与ContentResolver使用
    ASP.NET Web API 控制器创建过程(二)
    Yii PHP Framework有用新手教程
    图像切割之(五)活动轮廓模型之Snake模型简单介绍
    使用CXF+spring创建一个web的接口项目
    使用spring @Scheduled注解运行定时任务、
    Oracle11g新特性之动态变量窥视
    yum命令常见方法
    Linux负载均衡软件LVS之一(概念篇)
    Linux查看CPU和内存使用情况
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12854262.html
Copyright © 2011-2022 走看看