鱼C论坛

 找回密码
 立即注册
查看: 36|回复: 3

为什么错!?

[复制链接]
发表于 昨天 16:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. f1 = open("target.zip", "ab")
  2. f2 = open("test.jpg", "rb")

  3. f1.write(f2.read())

  4. f1.close
  5. f2.close

  6. print("完成~!")
复制代码


为什么说找不到文件?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 16:30 | 显示全部楼层
你的代码有两个主要问题:

  1. f1.close
  2. f2.close
复制代码


这两行代码没有调用close方法,只是引用了方法对象,所以文件实际上没有关闭。应该加上括号:

  1. f1.close()
  2. f2.close()
复制代码


至于"找不到文件"的错误,可能有以下几个原因:

1. 文件路径不正确
   - 确保 target.ziptest.jpg 与你的Python脚本在同一个文件夹
   - 或者使用绝对路径

2. 文件权限问题
   - 检查文件是否被其他程序占用
   - 确认有读写权限

3. 文件名或扩展名错误
   - 检查是否有拼写错误
   - 注意区分大小写(在Linux/Mac系统下)

修正后的完整代码:

  1. f1 = open("target.zip", "ab")
  2. f2 = open("test.jpg", "rb")

  3. f1.write(f2.read())

  4. f1.close()
  5. f2.close()

  6. print("完成~!")
复制代码


建议:
- 使用with语句自动管理文件关闭
- 添加异常处理

更安全的写法:

  1. try:
  2.     with open("test.jpg", "rb") as f2:
  3.         data = f2.read()
  4.    
  5.     with open("target.zip", "ab") as f1:
  6.         f1.write(data)
  7.    
  8.     print("完成~!")
  9. except FileNotFoundError:
  10.     print("错误:找不到文件!请检查文件名和路径。")
  11. except Exception as e:
  12.     print(f"发生错误:{e}")
复制代码


这样写即使出错也不会导致文件未正常关闭。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 16:48 | 显示全部楼层
说明在你这个原文件的同个文件夹下,没有这两个文件哦。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 18:07 | 显示全部楼层
文件位置发个截图~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-2 02:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表