Python程序设计( 五 文件操作、综合应用)——5.3 制作文件的备份

任务描述:
输入文件的名字,然后程序自动完成对文件进行备份

在这里插入图片描述
程序如下:

# 提示输入文件
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()

运行结果如下

请输入要拷贝的文件名字:gongzuo.doc

Process finished with exit code 0

但是,如果文件名中有中文,就会出错

Python程序设计( 五 文件操作、综合应用)——5.3 制作文件的备份_第1张图片
Python程序设计( 五 文件操作、综合应用)——5.3 制作文件的备份_第2张图片
修改代码如下:

import matplotlib.pyplot as plt
#中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 提示输入文件
oldFileName = input("请输入要拷贝的文件名字:")
# 以读的方式打开文件
oldFile = open(oldFileName,'rb')
# 提取文件的后缀
fileFlagNum = oldFileName.rfind('.')

if fileFlagNum > 0:
    fileFlag = oldFileName[fileFlagNum:]
# 组织新的文件名字
newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag
# 创建新文件

运行结果如下:

请输入要拷贝的文件名字:工作.doc

Process finished with exit code 0

你可能感兴趣的:(Python程序设计)