从一个Python脚本中,我想把一些小的字符串数据传递给一个子进程,但该子进程只接受文件名作为参数并打开并读取该文件,这是不可更改的。 我不想将这些数据写入磁盘,它只应驻留在内存中。
我的第一反应是使用StringIO,但我意识到StringIO没有fileno()。 mmap(-1, ...)似乎也不会创建文件描述符。 前面两种方法都行不通,我不知道该如何做。 这是否可行? 文件描述符将在操作系统级别可见,但(我希望)仅对该进程的子进程可见。
简而言之,如何为Python字符串/内存创建私有文件描述符,只有子进程可以访问?
附:这全部在Linux上进行,并且不需要任何移植性。
我的第一反应是使用StringIO,但我意识到StringIO没有fileno()。 mmap(-1, ...)似乎也不会创建文件描述符。 前面两种方法都行不通,我不知道该如何做。 这是否可行? 文件描述符将在操作系统级别可见,但(我希望)仅对该进程的子进程可见。
简而言之,如何为Python字符串/内存创建私有文件描述符,只有子进程可以访问?
附:这全部在Linux上进行,并且不需要任何移植性。
/dev/stdin
作为文件名提供给它,并将数据馈送到子进程的stdin
。 - user4815162342