【问题标题】:How to create a virtual file for output? [duplicate]如何创建用于输出的虚拟文件? [复制]
【发布时间】:2018-08-10 21:12:20
【问题描述】:

我需要在内存中创建一个虚拟文件来欺骗系统并让它认为它存在。

我有一些科学程序,我注意在一些函数文件中提供作为参数输出。

我想在内存中创建一些文件并将这个文件提供给这个函数。

我不想使用一些临时文件夹等等。 你怎么看,有没有可能创造这个把戏?

【问题讨论】:

    标签: python io in-memory virtual-file


    【解决方案1】:

    io 库可以创建类似对象的内存文件对象,这些对象的行为类似于使用典型的 f = open(filename, mode) 打开的文件句柄。如果您要以普通文本模式打开,StringIO 应该可以解决问题,或者如果您要以二进制模式打开文件,BytesIO 是要走的路。

    【讨论】:

    • 另外,tempfile 库提供(顾名思义)一个类似文件的临时对象。
    • 不幸的是,这没有帮助。在提出问题之前,我已经尝试过了。它返回空字符串。同样对于测试,我尝试了 output.write('test') 和 getvalue() 给我返回了一个结果。但是当我提供输出作为这个函数的参数时,outpus 仍然是空的。
    • @BeliaevMaksim 您需要为这个功能提供什么文件?鉴于您评论中的描述,那么您肯定在其他地方遇到了问题。
    • @Aaron,我需要提供一个带有路径作为参数的文件。
    • @BeliaevMaksim 然后函数本身负责打开文件并写入文件。您要么需要编辑函数本身,要么将mount a section of system ram 作为逻辑卷来创建文件。
    猜你喜欢
    • 2011-01-06
    • 2011-06-08
    • 2016-09-29
    • 2015-08-25
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    相关资源
    最近更新 更多