这是代码
def main():
f = open("image.jpg", "rb")
filedata = f.read()
f.close()
print "Creating Test Image"
f = open("ftp_test.jpg", "w+")
f.write(filedata)
f.close()
print "Done!"
if __name__ == '__main__':
main()
我不确定,为什么,但这里是原始图像
这是代码
的结果图片
我不知道该怎么做所以我决定来专家,因为我只有14岁。我也在增加它,比如TCP通讯。所以我可以通过互联网发送文件。
答案 0 :(得分:1)
您正在使用rb
读取二进制文件,因此请使用wb
以二进制形式回写。
f = open("ftp_test.jpg", "wb+")
来自官方docs:
在Windows上,附加到模式的'b'以二进制模式打开文件,所以 还有'rb','wb'和'r + b'等模式。 Windows上的Python 区分文本和二进制文件;行尾 文本文件中的字符会在数据时自动更改 被读或写。这种对文件数据的幕后修改 适用于ASCII文本文件,但它会破坏这样的二进制数据 在JPEG或EXE文件中。 阅读时要非常小心使用二进制模式 并编写这样的文件。在Unix上,附加'b'并没有什么坏处 模式,所以你可以平台独立使用它为所有二进制文件 文件。