jjzjj

StringIO

全部标签

ruby - 如何在不使用 Ruby 保存到磁盘的情况下生成 zip 文件?

我在内存中生成了许多PDF文件,我想将它们压缩成一个zip文件,然后再将其作为电子邮件附件发送。我看过Rubyzip,它不允许我在不将其保存到磁盘的情况下创建一个zip文件(也许我错了)。有什么方法可以在不创建临时文件的情况下压缩这些文件吗? 最佳答案 我有一个类似的问题,我使用ruby​​zipgem和stringio对象解决了这个问题。原来rubyzip提供了一个返回stringio对象的方法:ZipOutputStream.write_buffer。您可以使用put_next_entry创建zip文件结构并写入,完成后您可以倒

ruby - RSpec:如何测试文件操作和文件内容

在我的应用程序中,我有以下代码:File.open"filename","w"do|file|file.write("text")end我想通过RSpec测试这段代码。这样做的最佳做法是什么? 最佳答案 我建议为此使用StringIO并确保您的SUT接受要写入的流而不是文件名。这样,可以使用不同的文件或输出(更可重用),包括字符串IO(有利于测试)因此在您的测试代码中(假设您的SUT实例是sutObject并且序列化程序被命名为writeStuffTo:testIO=StringIO.newsutObject.writeStuffT

ruby - 与 String 相比,在 Ruby 中使用 StringIO 有什么优势?

什么时候使用Ruby的StringIO而不是只使用String是合适的?我想我理解它们之间的根本区别,正如“Whatisruby'sStringIOclassreally?”所强调的那样,StringIO使人们能够以面向流的方式从String读取和写入。但这实际上意味着什么?当简单地使用String不会真正削减它时,使用StringIO的实际用途的一个很好的例子是什么? 最佳答案 基本上,它使字符串看起来像一个IO对象,因此得名StringIO。StringIO类具有read和write方法,因此它可以传递给设计用于从文件或套接字读

ruby - 为什么 Ruby 没有真正的 StringBuffer 或 StringIO?

我最近读了一篇不错的post关于在Ruby中使用StringIO。不过,作者没有提到的是StringIO只是一个“I”。没有“哦”。你不能这样做,例如:s=StringIO.newsshouldbe"foo\nbar"#=>reallyis''`Ruby确实需要一个StringBuffer,就像Java那样。StringBuffers有两个重要的用途。首先,它们让您测试Ruby的StringIO所做的一半输出。其次,它们对于从小部分构建长字符串很有用——Joel一遍又一遍地提醒我们,否则会非常非常慢。有好的替代品吗?的确,Ruby中的字符串是可变的,但这并不意味着我们应该始终依赖该功能

python - 如何在 python 3 中替换此语句 "StringIO import StringIO "(在 python 2 中可用)

显然,我是Python的新手。我想在下面的代码中使用StringIO:提取example.xmlimportosos.chdir('d:/py/xml/')fromlxmlimportetreefromStringIOimportStringIO#----------------------------------------------------------------------defparseXML(xmlFile):"""Parsethexml"""f=open(xmlFile)xml=f.read()f.close()tree=etree.parse(StringIO(xm

windows - 属性错误 : StringIO instance has no attribute 'encoding'

在调试nosetests时使用PyCharm的交互式控制台时,出现以下错误:AttributeError:StringIOinstancehasnoattribute'encoding'我找到了一些指导here,但我不知道如何将它应用到我的情况。我该如何解决这个问题?完整堆栈跟踪:Traceback(mostrecentcalllast):File"C:\ProgramFiles(x86)\JetBrains\PyCharm2016.3.2\helpers\pydev\_pydevd_bundle\pydevd_comm.py",line1409,indo_itresult=pydev

java - scala/java 是否有类似 Python 中的 StringIO 的东西?

我想知道java/scala是否具有“可以充当文件的字符串对象”作为python中的StringIO?我认为这比写入和读取大量临时文件要好。我更喜欢scala,但java也应该没问题。 最佳答案 我相信StringWriter正是您要找的。 关于java-scala/java是否有类似Python中的StringIO的东西?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8263

c++ - 是否有用于 C++ 的 Python StringIO/StringIO 之类的东西?

我正在使用Boost的序列化库序列化大量数据以通过网络发送。Boost的序列化库需要一个中间文件来进行序列化和反序列化。传输的数据量使得执行所有这些操作变得很尴尬。将事情保存在内存中会好得多。C++中是否有任何类似于Python的cStringIO/StringIO的东西可以用来伪造Boost的序列化?提前致谢。 最佳答案 是的,它叫stringstream. 关于c++-是否有用于C++的PythonStringIO/StringIO之类的东西?,我们在StackOverflow上找到

c++ - python sys.stdout 和 C++ iostreams::cout

我假设sys.stdout将引用与在同一进程中运行的iostreams::cout相同的物理流,但事实似乎并非如此。以下代码使用名为“write”的python包装器调用C++函数,该函数写入cout:fromcStringIOimportStringIOimportsysorig_stdout=sys.stdoutsys.stdout=stringout=StringIO()write("cout")#wrappedC++functionthatwritestocoutprint"-"*40print"stdout"sys.stdout=orig_stdoutprintstringo

python - 如何将 mongodb 的 Gridfs 与 PIL(Python 图像库)一起使用

我使用mongodb并将文件保存到gridfs现在我想从gridfs编辑图像...我用这个代码defthumbnail(file_obj):importStringIOfromPILimportImageim=StringIO.StringIO()im.write(file_obj.raw_file)im_ful=Image.open(im)returnim_ful.info但是pil说“无法识别图像文件”这也是图像;)怎么解决 最佳答案 在调用Image.open(in)之前,您需要一个im.seek(0)。否则,PIL会尝试从文