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("哈哈")
原文地址:https://www.cnblogs.com/kangwenju/p/12854262.html