我想通过ftp将各种数据从内存(数组的内容,静态html代码等)上传到Web服务器。
仅适用于一个基本字符串'Hello World':
from ftplib import FTP
import io
...
bio = io.BytesIO(b'Hello World')
ftp.storbinary('STOR index.html', bio)
但是,我不正确地上传数据,例如:
datalog = array([['Temperature', 0, 0], ['Humidity', 0, 0]])
html_code = '<head><title></title></head><body>display here</body></html>
您可以上传文件,但不能上传变量。
您可以使用BytesIO
或StringIO
用数据创建文件并上传。 T
它们具有类似于普通文件的功能-即bio.write(html_code.encode())。
from ftplib import FTP
import io
text = '<head><title></title></head><body>display here</body></html>'
bio = io.BytesIO()
bio.write(text.encode())
bio.seek(0) # move to beginning of file
ftp.storbinary('STOR index.html', bio)
对于数据记录,您可以使用模块json
创建包含所有数据的字符串
from ftplib import FTP
import io
import json
datalog = ([['Temperature', 0, 0], ['Humidity', 0, 0]])
text = json.dumps(datalog)
bio = io.BytesIO()
bio.write(text.encode())
bio.seek(0) # move to beginning of file
ftp.storbinary('STOR data.json', bio)