StringIO目录:如何在Python中创建内存目录



如何在python中创建内存中目录,就像StringIO如何创建内存中文件一样?

我正在尝试使用python-gnupg验证文件的签名。我想在内存中创建一个gnupghome目录,使其安全(其他非根进程无法写入(和短暂(当我.close()它或我的python应用程序关闭时就不见了(。

该解决方案需要与操作系统无关,以便支持linux、Windows和MacOS(请不要调用subprocessmktemp -d(。

有没有一种本地的、跨平台的、Python式的方法可以在内存中创建目录?

您可以使用PyFilesystem的memory filesystem创建内存中的文件系统。

也就是说,python-gnupg的工作方式是在系统上对gpg二进制文件进行处理。因此,由python创建的内存中FS对于gpg来说是不可访问的。

此外,python-gnupg的实现方式意味着它的函数将文件路径作为字符串。相反,如果它将文件描述符转换为字节流,那么这可能会奏效。但事实并非如此。例如:

  • gpg.GPG()gnupghome是一个字符串,它是实际磁盘上目录的路径
  • gpg.verify_file()的第二个参数是一个字符串,它是分离签名的路径

最新更新