baidu_37827174 2021-08-29 23:09 采纳率: 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条回答 默认 最新

  • Python-ZZY 2021-08-30 09:41
    关注

    open()只能写入记事本txt文件,但你刚开始如果输入带有txt后缀的文件,print("文件名不规范"),程序就直接退出了

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

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 创建了问题 8月29日

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站