baidu_37827174 2021-08-29 23:14 采纳率: 90.9%
浏览 25
已结题

写了一个备份文件的代码,但是到最后一步的时候,备份文件的写入失败,请教下问题在哪里,debug了也查不出


"""新建并存储原始文件"""
oldFile_path = 'D:\\python测试文件夹\\'  # 设置自定义保存的文件夹位置
old_id = input("请输入原始文件名:")  # 原始文件名称
if '.txt' in old_id:
    print("文件名不规范")
    exit()
elif '.doc' in old_id:
    print("文件名不规范")
    exit()
elif '.ppt' in old_id:
    print("文件名不规范")
    exit()
elif '.xls' in old_id:
    print("文件名不规范")
    exit()
else:
    pass
 
 
def save_fileFormat(i):
    """设置文件保存类型"""
    if i == '文档':
        return '.doc'
    elif i == '表格':
        return '.xls'
    elif i == '幻灯片':
        return '.ppt'
    elif i == '记事本':
        return '.txt'
    else:
        print("请按照输入正确的文件保存类型:[文档]/[幻灯片]/[记事本]/[表格]")
        help(save_fileFormat)
        exit()
 
 
oldId = oldFile_path + old_id + save_fileFormat(
    i=input("请文件保存类型:"))  # 输入文件格式(后缀)
 
print('原始文件为名为%s' % oldId)
old_fileObject = open(oldId, 'w')
content_old = input('请输入数据:')
old_fileObject.write(content_old)
 
"""自定义备份文件"""
searchFormat = oldId.rfind('.')
backup_fileName = input("请输入备份文件名:")
backupID = oldFile_path + backup_fileName + save_fileFormat(i=input("请文件保存类型:"))
# print("源文件的格式后缀在%s" % searchFormat)
backup_fileObject = open(backupID, 'w+')
print("源文件已完毕,请开始备份文件写入")
"""读写文件"""
old_f = open(oldId, 'r')
content_backup = old_f.read(99999)
print(content_backup)
new_f = open(backupID, 'w+')
new_f.write(content_backup)
new_f = open(backupID, 'r')
new_f.read(99999)
print(new_f.read(99999))
 

前面都正常运行的,最后一步,【读写文件】开始,这几行代码似乎不起作用,新建的文件一片空白,请问到底问题出现在哪里

  • 写回答

1条回答 默认 最新

  • CHZWE 2021-08-29 23:26
    关注

    因为ppt等格式需要用2进制解码
    把r改成rb,w改成wb
    个人不推荐使用w+

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月13日
  • 已采纳回答 9月5日
  • 创建了问题 8月29日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见