如何在Python中将文件写入内存文件路径并从内存文件路径读取?

Dav*_*vma 5 python linux azure-functions

现有的 Python 包需要文件路径作为方法的输入参数,以便能够从文件路径解析文件。我想在云环境中使用这个非常具体的Python包,在云环境中我无法将文件写入硬盘。我无法直接控制现有 Python 包中的代码,并且切换到另一个能够将文件写入硬盘的环境也并不容易。因此,我正在寻找一种解决方案,能够将文件写入内存文件路径,并让解析器直接从此内存文件路径读取。这在Python中可能吗?或者还有其他解决方案吗?

使用硬盘驱动器工作的示例 Python 代码,应更改为不使用硬盘驱动器:

temp_filepath = "./temp.txt"
with open(temp_filepath, "wb") as file:
  file.write("some binary data")
model = Model()
model.parse(temp_filepath)
Run Code Online (Sandbox Code Playgroud)

使用内存文件系统存储文件,但不允许解析器从内存文件系统读取文件的示例Python代码:

from fs import open_fs
temp_filepath = "./temp.txt"
with open_fs('osfs://~/') as home_fs:
  home_fs.writetext(temp_filepath, "some binary data")
model = Model()
model.parse(temp_filepath)
Run Code Online (Sandbox Code Playgroud)

ti7*_*ti7 4

您可能正在寻找StringIOBytesIO来自io

import io

with io.BytesIO() as tmp:
    tmp.write(content)
    # to continue working, rewind file pointer
    tmp.seek(0)
    # work with tmp 
Run Code Online (Sandbox Code Playgroud)

pathlib也可能是一个优势