如何在python中创建内存中目录,就像StringIO
如何创建内存中文件一样?
我正在尝试使用python-gnupg
验证文件的签名。我想在内存中创建一个gnupghome
目录,使其安全(其他非根进程无法写入(和短暂(当我.close()
它或我的python应用程序关闭时就不见了(。
该解决方案需要与操作系统无关,以便支持linux、Windows和MacOS(请不要调用subprocess
到mktemp -d
(。
有没有一种本地的、跨平台的、Python式的方法可以在内存中创建目录?
您可以使用PyFilesystem的memory filesystem创建内存中的文件系统。
也就是说,python-gnupg
的工作方式是在系统上对gpg
二进制文件进行处理。因此,由python创建的内存中FS对于gpg
来说是不可访问的。
此外,python-gnupg
的实现方式意味着它的函数将文件路径作为字符串。相反,如果它将文件描述符转换为字节流,那么这可能会奏效。但事实并非如此。例如:
gpg.GPG()
的gnupghome
是一个字符串,它是实际磁盘上目录的路径gpg.verify_file()
的第二个参数是一个字符串,它是分离签名的路径