我正在编写python scrpit以将文件上载到我的文件服务器:
host = "myhost.dev"
tn = telnetlib.Telnet()
tn.open(host, 5202)
print tn.read_until("\n")
fp = "./output"
f = open(fp, "r")
f_body = f.read()
tn.write(f_body)
tn.write("\n")
f.close()
如果文件有一个新行字符-
0a
,并且它是gzip文件中二进制数据的一部分,我应该如何转义它?python telnetlib可以自己完成吗?还是我应该这么做?致意
最佳答案
我认为telnet不是传输文件的最佳选择,但是如果您仍然想使用它上传文件的话。你可以试着做以下事情(还没试过,但我认为应该有效)
#On client side
...
import base64
with open('test.gz','rb') as f:
content = f.read()
content_serialized = base64.b64encode(content)+'\n'
...
#On server side
...
import base64
content = base64.b64decode(content_serialized.rstrip('\n'))
with open('test.gz','wb') as f:
f.write(content)
...
关于python - 通过telnet上传文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6730697/