【问题标题】:Convert file into string then Rebuild that String and make it a file again将文件转换为字符串,然后重建该字符串并再次使其成为文件
【发布时间】:2012-10-16 09:48:05
【问题描述】:

我想通过网络发送文件,但是向我提出的所有工具和命令都不允许我自动执行该过程。

现在我记得java中有一个函数可以让你将文件转换为json base64字符串,然后这个字符串将通过网络发送,然后接收到它的机器会将它重建为文件。

我想知道我是否可以在 python 中做这种事情?

有什么想法吗?谢谢!

【问题讨论】:

  • @Brian - 实际上在第 2 段中已说明。我有一个(不同类型的)文件,我想将其转换为字符串,通过网络发送此字符串,然后接收此字符串的机器将再次将此字符串重建为文件。我想知道我是否可以在 python 中。

标签: python string file rebuild


【解决方案1】:

嗯,读取文件和写入文件很容易:

#read from a file
with open("path/to/file", "rb") as read_file:
    contents = read_file.read()
#write to a file
with open("path/to/file", "wb") as write_file:
    write_file.write(contents)

对于 base64 编码,请查看python docs

通过连接发送数据非常简单,您可以通过多种方法来完成 - 我不打算在这里解决它,但我会列出您可以使用的方法:

这是一个使用来自http://wiki.python.org/moin/TcpCommunication的套接字的示例

import socket

TCP_IP = '127.0.0.1'
TCP_PORT = 5005
BUFFER_SIZE = 1024
MESSAGE = "Hello, World!"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE)
data = s.recv(BUFFER_SIZE)
s.close()

print "received data:", data

【讨论】:

  • 您给出的第一个解决方案似乎仅适用于文本文件?(从文件读取&&写入文件)我想澄清一下,我想转换不同类型的文件,其中包括apk,exe等。谢谢:)
  • 您可以选择添加b 以使文件读取字节或写入字节。这是所有基本的python,在谷歌搜索上很容易找到。
  • 打开文件时请使用with声明。
  • @PiotrDobrogost 是的,我通常会这样做,但看起来这是一个新的 python 用户,我不想混淆复杂性,但我会为了繁荣而进行编辑。
猜你喜欢
  • 2023-02-01
  • 2019-10-16
  • 1970-01-01
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 2021-08-16
  • 1970-01-01
相关资源
最近更新 更多