问题标签 [cstringio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 使用带有 foreach 循环的 cStringIO
我想遍历行 cStringIO 对象,但它似乎不适用于 foreach 循环。更准确地说,行为就像集合是空的。我究竟做错了什么?
例子:
谢谢你。
python - StringIO 中的就地替换
如何在 a 中用另一个字符串替换一个字符串StringIO
?- 我听说如果它们的长度相同,这是可能的。
试图:
PS:目前正在研究 C 中的解决方案,但更愿意让它工作。
python-2.7 - 获取 StringIO 对象的大小(以字节为单位)
是否可以获取StringIO对象的大小(以字节为单位)?还是每次我想获得它的大小时都应该把它写到磁盘上?
我搜索了很多但没有成功。那里。sizeof ()但我认为这不是我想要的。
我正在遍历文件名列表
python - ValueError 使用 plt.savefig() 和 cStringIO 缓冲区
我正在尝试使用matplotlib
和制作切线的交互式图cv2
。以前,我只是将文件保存到我的磁盘,然后将图像打开为图像.png
列表。我决定省略使用磁盘并使用cStringIO
缓冲区。我暂时省略了图像显示循环,因为我很确定当我通过它时它会起作用。我有两个函数,pic()
生成绘图,然后调用convt()
将绘图转换为缓冲区,并使用 提取原始字符串buff.getValue
,然后返回字符串。问题似乎与np.frombuffer()
. 如果我只是打印pic()
,我可以将缓冲区视为字符串,但np.frombuffer(pic())
会导致ValueEerror
:
这是两个函数和注释掉的循环来填充列表。数学函数定义被省略了,因为我已经对它们进行了测试并且它们按预期工作。请注意,此版本已最小化以导致相同的错误:
python - 如何使用 cStringIO 创建具有空值的内存 TSV 文件?
我知道我可以制作一个简单的内存 CSV 文件,如下所示:
但是我如何调整它以包含null
/None
值?我问是因为我正在tsv_string
使用真实数据动态生成我的。一些整数字段为空,我不能用空字符串替换它们,因为 Postgres 无法正确解释。
为了提供更多背景信息,我这样做是为了可以使用psycopg2
'scopy_from
函数,由于上述原因,该函数当前给了我这个错误:
所以问题是,我如何在我的内存 TSV 文件中放置空值。是否有更合适的文件扩展名可供使用?
python-2.7 - Matplotlib savefig 到 cStreamIO 然后将数据加载到另一个 Matplotlib plot/fig Python 2.7
尝试使用 matplotlib 写入 iostream,然后在另一个 matplotlib 图中显示该数据(从以下开始:将 Matplotlib savefig 写入 html)。为了提高效率,我想避免将图像写入磁盘。
这是代码:
返回的错误是:IOError: [Errno 22] invalid mode ('rb') or filename: 'iVBORw...followed by a long string with the data from the image'
我查看了 image.py 文件,它似乎正在寻找文件名。
谢谢参观。
amazon-s3 - 通过 boto3 将内存对象写入 S3
我正在尝试将文件直接写入 S3,而不创建然后上传的本地文件。
我正在使用 cStringIO 在内存中生成一个文件,但我无法找出将它上传到 boto3 的正确方法。
以上是我之前在本地文件中使用的标准 boto3 方法,如果没有本地文件,它就无法工作,我收到以下错误:coercing to Unicode: need string or buffer, cStringIO.StringO found
.
因为内存中的文件(我相信)已经被认为是打开的,我尝试将其更改为下面的代码,但它仍然不起作用,没有错误,脚本只是挂在方法的最后一行。
只是为了获取更多信息,我试图写的值看起来像这样
(cStringIO.StringO object at 0x045DC540)
有谁知道我在这里做错了什么?
python - 在内存流中编码或 TextIOBase 如何工作?
我目前正在阅读 io 模块的文档:https ://docs.python.org/3.5/library/io.html?highlight=stringio#io.TextIOBase
也许是因为我对 Python 不够了解,但在大多数情况下,我只是不了解他们的文档。
我需要将数据保存addresses_list
到 csv 文件中,并通过 https 将其提供给用户。所以所有这些都必须发生在内存中。这是它的代码,目前它工作正常。
现在的问题是我需要将 csv 文件的内容编码为cp1252而不是utf-8。传统上,我只会编写f = open("output.csv", "w", encoding="cp1252")
然后将所有数据转储到其中。但是对于内存中的流,它不会那样工作。两者,io.StringIO()
并且io.BytesIO()
不带参数encoding=
。
这是我对文档有深刻理解的地方:
文本流 API 在 TextIOBase 的文档中有详细描述。
TextIOBase的文档是这样说的:
编码=
用于将流的字节解码为字符串以及将字符串编码为字节的编码名称。
但io.StringIO(encoding="cp1252")
只是抛出:TypeError: 'encoding' is an invalid keyword argument for this function
。
那么如何将 TextIOBase 的编码参数与 StringIO 一起使用呢?或者这通常是如何工作的?我感到很困惑。
python - 从 StringIO 读取而不重置位置
我有一个包含以下内容的测试代码:
这打印为:
如您所见,这具有不同的打印效果。但是,当我这样做时:
当我运行它时,我得到以下输出:
在这种情况下,它输出相同的值(搜索器不前进)。
我需要使 cStringIO (或类似的解决方案)以与文件相同的方式读取字符串。我的意思是每次阅读都没有重置位置。
python - 无法迭代 cStringIO
在脚本中,我正在向文件写入行,但有些行可能是重复的。所以我创建了一个cStringIO
类似文件的临时对象,我称之为“中间文件”。我首先将这些行写入中间文件,删除重复项,然后写入真实文件。
因此,我编写了一个简单的 for 循环来遍历中间文件中的每一行并删除所有重复项。
我的问题是for
循环永远不会被执行。我可以通过在调试器中放置断点来验证这一点;该行代码只是被跳过并且函数退出。我什至从这个线程中阅读了这个答案并插入了代码cStringIO.OutputType.getvalue(f_temp)
,但这并没有解决我的问题。
我不知道为什么我不能读取和遍历我的类文件对象。