如何在Python 3中通过FTP从内存上传数据?

2023-12-12

我想通过 FTP 将内存中的各种数据(数组内容、静态 html 代码等)上传到网络服务器。

这仅适用于一个基本字符串“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 or StringIO使用您的数据创建文件并上传。它们具有像普通文件一样的功能 - 即。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)

For datalog你可以使用模块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)

EDIT:带模块的示例csv不能直接使用BytesIO但它需要字符串文件。

from ftplib import FTP
import io

import csv

data = [['Temperature', 0, 0], ['Humidity', 0, 0]]

bio = io.BytesIO()
iow = io.TextIOWrapper(bio)  # create String wrapper

csv_writer = csv.writer(iow) # create csv writer
csv_writer.writerows(data)   # write all rows

iow.flush()  # force String to send all from buffer to file (you can't use `iow.close()` for it)
bio.seek(0)  # move to beginning of file

ftp.storbinary('STOR data.csv', bio)

# to see what is in bio
#bio.seek(0)
#print(bio.read()) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python 3中通过FTP从内存上传数据? 的相关文章

  • 将字符串转换为带有毫秒和时区的日期时间 - Python

    我有以下 python 片段 from datetime import datetime timestamp 05 Jan 2015 17 47 59 000 0800 datetime object datetime strptime t
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL

随机推荐

  • Android 中的加权热图

    我正在尝试为我的 Android 应用程序项目创建一个加权热图 我查看了谷歌文档 我不明白如何使用颜色数组和起点数组创建新的渐变 起始数组表示为 每种颜色的起点 以最大强度的百分比形式给出 这是什么意思 如何将颜色数组与起点数组关联起来 i
  • 如何在 ionic 4 中隐藏滚动条上的标题?

    我想知道如何通过向下滚动页面来隐藏 Ionic 4 中的标题 并在向上滚动时重新显示它 我找到了许多关于如何做到这一点的解决方案 但结果都证明它们不起作用或已经过时了 因此 我收集了我能找到的所有信息来提供这个答案 谢谢这个视频我让它工作了
  • 以html形式输入Integer时抛出BadValueError

    我正在使用 Python 创建 Google App Engine 应用程序 为了测试我的应用程序 我使用 html 表单输入数据 在我的表格中我有一行 tr td Age td td td tr
  • PHPStorm 8 + PHPUnit 4.2.6 错误

    我做不到PHPUnit 4 2 6跟 共事PHPStorm 8 PHPUnit 在 PHPStorm 8 设置中作为 phar 加载 每当我尝试在 PHPStorm 中运行单元测试时 我都会收到此错误 Parse error syntax
  • 将输出重定向到文本文件c#

    这是我的代码 Process pr2 new Process pr2 StartInfo FileName show snps pr2 StartInfo Arguments Clr x 2 out delta gt out snps pr
  • 转换后的 PDF 中缺少文档中替换的文本

    我从 Google Apps 脚本开始并尝试创建文件 Google Doc 的副本 然后替换复制文档中的文本并将其转换为 PDF 该功能工作正常 但替换的文本不会出现在 PDF 文件中 而是出现在复制的文件 我替换的位置 中 我读到了关于s
  • 角度数据表列可拖出表格

    是否可以避免该列 而不是拖出数据表视图区域 正如您可以自己看出的那样 我从此链接中谈论的内容https l lin github io angular datatables withColReorder when you try to dr
  • 是否存在禁用 file_get_contents() 函数工作的机制?

    i use file get contents 函数从站点获取数据并将数据存储在数据库中 如果有一天脚本开始不起作用 这对我来说将非常不方便 我知道 如果他们改变网站的结构 它可能会开始不起作用 但现在我担心 也许有机制可以禁用此功能的工作
  • Android 模拟器无法访问互联网

    我无法在模拟器中访问互联网 它甚至无法在模拟器浏览器上连接到谷歌 我已经检查过设置 数据已启用复选框已选中 在发布问题之前我提到了一些SO问题 As 这个答案建议 我没有启用 wifi 所以这似乎不是问题 作为另一个答案在同一个问题中 我尝
  • IBM Worklight - 连接/重新连接:WL.Client.connect 与 connectOnStartup 与 WL.Client.invokeProcedure

    在我们的项目中 我们试图弄清楚连接到服务器的最佳流程是什么 特别是在处理离线 在线场景等时 现在 对于我们来说 连接到 WL 服务器的所有三个选项似乎都是相似的 无论我们使用什么选项 我们都可以完美地调用我们的适配器过程 并且我们会收到在控
  • 使用 SendInput 发送两个或多个字符

    要发送字符 我们可以使用 SendInput 我如何使用它来发送多个字符 我尝试了这段代码 但它没有发送任何内容 INPUT in in type INPUT KEYBOARD in ki wScan 0 in ki time 0 in k
  • 如何结合代码优先和数据库优先方法

    假设我是一家公司的新开发人员 所以该项目已经有一个现有的数据库 为了处理这个项目 显然我需要搭建现有的数据库 数据库优先方法 它可以生成模型类供我处理 因此 我开始处理该项目 并希望向表中添加一个新列 因此我在模型类上添加一个新属性 然后我
  • 经典 ASP VBScript 中的 HMAC 算法 (SHA256)

    我正在尝试使用 SHA256 作为哈希在经典 ASP 中编写 HMAC 函数 我认为我做对了 但结果与列出的示例不同维基百科页面 我见过几个人们通过包含 WSC 在经典 ASP 中使用 HMAC SHA256 的示例 这不是我想做的 这是函
  • Python套接字同时接收多条消息

    我正在使用 python 3 套接字进行 TCP IP 聊天 并且在多个 socket send socket receive 对实例上遇到了同样的问题 举个例子 每次服务器更新已连接客户端的列表时 它首先发送一个字符串信号表明它将要执行此
  • NSString 保留计数 -1

    我想打印保留计数NSString in AppDelegate班级在didFinishLaunchingWithOptions method NSString str NSString alloc init NSLog str retain
  • C 中的运算符结合性特别是前缀和后缀递增和递减

    在 C 运算中 结合性是指递增 递减和赋值 2 postfix and 3 prefix and 16 Direct assignment 完整列表可以在这里找到C 中的维基百科运算符 我的问题是当我们有 int a b b 1 a b p
  • 无法构建 ASP.NET Core 2.0 + Angular 2/4 - 用户注册和登录应用程序

    我正在尝试在 IIS 服务器上部署 ASP NET Core 2 0 Angular 2 4 用户注册和登录应用程序 取自链接 https www pointblankdevelopment com au blog 134 aspnet c
  • 在 Java 中,对 Class.class 的引用有什么作用?

    我正在构建一个小型 Android 应用程序 但这更像是一个 Java 问题 而不是 Android 问题 浏览教程 有一些行看起来像 startService new Intent this MyService class MyServi
  • 如何获取接近另一种颜色的RGB值?

    如果我有 RGB 颜色 如何创建一个 javascript 函数 当另一个 RGB 值接近初始 RGB 时返回 true 否则返回 false 我已经使用过这个并且它对我来说非常有效 assuming that color1 and col
  • 如何在Python 3中通过FTP从内存上传数据?

    我想通过 FTP 将内存中的各种数据 数组内容 静态 html 代码等 上传到网络服务器 这仅适用于一个基本字符串 Hello World from ftplib import FTP import io bio io BytesIO b