【问题标题】:Create file in memory using python and assign a name to file (universal naming convention)?使用python在内存中创建文件并为文件分配一个名称(通用命名约定)?
【发布时间】:2021-10-21 22:10:50
【问题描述】:

使用 Python 的 io 等库,我可以创建一个文件,例如csv 格式,在内存中。但是,我无法获得引用此文件的 UNC(通用命名约定)。如何将这样的名称分配给 Python 创建的内存文件?

【问题讨论】:

  • 你想完成什么?您是否希望 UNC 名称能够让您从进程外部访问“内存文件”?
  • 您是否尝试将文件写入磁盘然后读取它的文件目录是什么?
  • @dirck7 我只希望它让我访问该文件。访问是否在进程之外与我无关。
  • @rangeseeker 这正是我想要避免做的事情。我想写入内存,而不是磁盘。

标签: python unc in-memory bytesio


【解决方案1】:

就操作系统而言,使用io 模块在内存中创建的“文件”不是“文件”。您不能按名称打开它或从进程外部访问它。该文件仅作为变量存在于程序中。

可以直接获取字符串内容,如示例@https://docs.python.org/3/library/io.html#io.StringIO

import io

output = io.StringIO()
output.write('First line.\n')
print('Second line.', file=output)
contents = output.getvalue()

或者您可以倒回文件并读回:

output.seek(0)
contents = output.read()

【讨论】:

    猜你喜欢
    • 2014-04-18
    • 2016-01-24
    • 2021-12-20
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多