L先生996 发表于 2025-12-1 16:29:37

为什么错!?

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

f1.write(f2.read())

f1.close
f2.close

print("完成~!")

为什么说找不到文件?

FishC 发表于 2025-12-1 16:30:08

你的代码有两个主要问题:

f1.close
f2.close

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

f1.close()
f2.close()

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

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

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

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

修正后的完整代码:

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

f1.write(f2.read())

f1.close()
f2.close()

print("完成~!")

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

更安全的写法:

try:
    with open("test.jpg", "rb") as f2:
      data = f2.read()
   
    with open("target.zip", "ab") as f1:
      f1.write(data)
   
    print("完成~!")
except FileNotFoundError:
    print("错误:找不到文件!请检查文件名和路径。")
except Exception as e:
    print(f"发生错误:{e}")

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小甲鱼的二师兄 发表于 2025-12-1 16:48:10

说明在你这个原文件的同个文件夹下,没有这两个文件哦。

不二如是 发表于 2025-12-1 18:07:12

文件位置发个截图~
页: [1]
查看完整版本: 为什么错!?