Python - 复制jpg文件时出错
我完成了复制txt文件并试图用jpg文件做同样的事情。但我不断收到编码错误。 我的代码是:Python - 复制jpg文件时出错
def fcopy(source, target):
data = ''
with open(source, encoding='Latin-1') as f:
data = f.read()
with open(target, 'w') as t:
t.write(data)
fcopy("source.jpeg","dest.jpeg")
我试图使用编码= UTF8和UTF16也。但没有工作,错误是:
Traceback (most recent call last):
File "C:/Users/Mark-II/Desktop/fileCopy.py", line 7, in <module>
fcopy("source.jpeg","dest.jpeg")
File "C:/Users/Mark-II/Desktop/fileCopy.py", line 3, in fcopy
with open(source, encoding='Latin-1') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'source.jpeg'
>>>
请帮助。
尝试以'二进制模式'打开文件。根据open方法的文档,这默认为文本模式。这就解释了为什么它对文本文件起作用,并且在非文本文件(如jpg图像)上失败。以二进制模式打开文件时,您不需要使用指定的参数进行编码。
def fcopy(source, target):
with open(source, 'rb') as f:
data = f.read()
with open(target, 'wb') as t:
t.write(data)
fcopy("source.jpeg","dest.jpeg")
为什么在文件的顶部将'None'分配给'data'? – SethMMorton
对不起,我的意思是在函数的顶部。 – SethMMorton
你是对的Seth。这不是必需的。我纠正了我的答案。谢谢! – Kyle
该代码正在工作。你的问题是与文件路径。请检查您提供的图像路径。
实际上python的源文件和图像文件都不在同一个目录中。所以,一定不会有任何路径问题。 –
你的源文件是否叫做'source.jpeg',并放在与你的程序相同的工作目录中? – Jerrybibo
是@Jerrybibo。 python源文件和图像文件位于相同的路径中。 –