问题标签 [stringio]
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 - 此脚本中使用的 StringIO() 是什么?
我刚开始使用 Django 和 Python,我正在尝试构建一个照片应用程序。这个脚本正在生成缩略图,我想自己做。不幸的是,我不明白StringIO()
在做什么。在这种情况下,Python 文档对我没有多大帮助。
有人可以向我解释StringIO()
在这种特殊情况下会做什么吗?
python - 用于编码 URL 的 urllib.urlencode 的替代方法
我正在尝试向仅接受 XML 的 API 发送请求。我曾经elementtree.SimpleXMLWriter
构建 XML 树并将其存储在 StringIO 对象中。这一切都很好,花花公子。
问题是我必须对 StringIO 对象进行 urlencode 才能将其发送到 API。但是当我尝试时,我得到:
显然,这已作为Python 的一个问题进行了讨论。我只是想知道是否有任何其他内置函数用于对字符串进行 urlencoding,特别是那些不需要调用len()
以便我可以对这个 StringIO 对象进行编码的函数。
谢谢!
PS:如果这是一个更简单的解决方案,我愿意使用 StringIO 以外的东西来存储 XML 对象。我只需要某种“文件”SimpleXMLWriter
来存储 XML。
c++ - 使用 swig 将 python StringIO 传递给 C++ stringstream
我有一些生成 StringIO 变量的 python 代码。我想使用 stringstream 参数将此变量传递给 C++ 函数(假设 C++ stringstream 是与 python StringIO 最接近的匹配项)。有没有一种使用 swig 进行翻译的简单方法?
我在 swig 模块中看到有一个 std_sstream.i ,其中包含一些字符串流代码,但我在 swig 文档中找不到对它的任何引用,或者在网络搜索中使用它的任何示例。
为了让它更清楚一点,我将在下面包含一些非常简单的代码。这是固定的 test.cpp,我无法更改:
这里的 test.h 也是固定的:
这是我可以编辑的 python 代码,它调用 C++ StTest 函数(我们称之为 test_test.py):
所以我在上面的注释行中寻找可以从 StringIO 转换为 stringstream 的东西。
这是我对 swig 的 test.i 文件的初步挖掘:
我在 test.i 中包含了“std_sstream.i”,因为我认为这是应该使用的。我需要在这个文件中添加一些东西来让它做某事吗?
目前运行 test_test.py 的报错是:
encoding - python3中的io.StringIO编码
我似乎找不到io.StringIO
Python3 中的默认编码是什么。它是与 locale 一样stdio
吗?
我怎样才能改变它?
使用stdio
, 似乎只是用正确的编码重新打开就可以了,但是没有像重新打开StringIO
.
python - Python 记录到 StringIO 处理程序
我有一个 python 测试,我想在其中测试日志记录是否正常工作。例如,我有一个创建用户的函数,最后日志将响应写入日志文件。
在我的测试用例中,我想将日志输出发送到 StringIO。
问题是我不确定我应该如何测试我的记录器是否正常工作。
python - 将标准输出内存文件翻译成英文字符串,就像使用打印命令一样
我正在为我知道存在的特定文件运行查找命令。我想获取该文件的路径,因为我不想假设我知道该文件的位置。我的理解是我需要重定向标准输出,运行命令并捕获输出,重新连接标准输出,然后检索结果。当我检索结果时出现问题......我无法破译它们:
我找到了所有我想要的路径,问题是 paths_to_file 产生了这个:
我不知道该怎么办。我想要的是类似于 print 命令提供的东西:
如何使该输出可用于打开文件?如果我能得到打印命令的结果,我就可以打开我想要的文件。
如果我被误导了,请重新定位问题。谢谢!
python - 我必须做 StringIO.close() 吗?
一些代码:
文档说:
StringIO.close()
: 释放内存缓冲区。尝试对已关闭的 StringIO 对象执行进一步操作将引发 ValueError。
我是否必须这样做buffer.close()
,或者当缓冲区超出范围并被垃圾收集时它会自动发生?
更新:
我做了一个测试:
结果:
python - 有没有办法让 StringIO 读取阻塞
我搜索了文档并四处搜索,但没有任何关于阻塞 StringIO 对象的说法。
我可以创建自己的类似文件的对象,它只是简单地包裹在 StringIO 周围,但最好的方法是如何使它阻塞?我知道的唯一方法是使用 while 循环和 time.sleep(0.1) 直到有可用数据。
python - 在 ReportLab 生成的 PDF 中包含 base64 编码的图像
我正在尝试解码 base64 编码的图像并将其放入我使用 ReportLab 生成的 PDF 中。我目前这样做(image_data
是base64编码的图像,story
已经是ReportLab的故事):
它有效(尽管对我来说仍然很难看)。我想过摆脱临时文件(不应该像文件一样的对象吗?)。
为了摆脱我尝试使用StringIO
模块的临时文件,创建类似文件的对象并传递它而不是文件名:
但这给了我IOError并显示以下消息:“无法识别图像文件”。
我知道 ReportLab 使用 PIL 来读取不同于 jpg 的图像,但是有什么方法可以避免创建命名的临时文件并且只使用类似文件的对象来执行此操作,而不将文件写入磁盘?
python - 在 python 中使用 StringIO 的 read() 获取数据失败
使用Python2.7版本。下面是我的示例代码。
在上面的程序中,read() 没有返回任何内容,而 getvalue() 则返回“你好”。谁能帮我解决这个问题?我需要 read() 因为我的以下代码涉及读取“n”个字节。