Python 使用输入/输出参数运行bash命令,但不将其作为变量提供给磁盘

Python 使用输入/输出参数运行bash命令,但不将其作为变量提供给磁盘,python,bash,Python,Bash,我想在bash中运行一个命令,例如/command-I INPUT\u FILE-o OUTPUT\u FILE,它接受两个参数,1)输入文件的路径和2)输出文件的路径。它处理输入文件,并将结果写入输出文件。是否有任何方法可以将INPUT\u文件和OUTPUT\u文件作为一些变量提供?因此,我不希望将文件存储在磁盘中,而是希望将它们作为变量馈送/存储在内存中。请注意,输出是在提供的文件路径中写入的,而不是标准输出(否则很明显)。在命令的核心部分,它用C语言打开流的,将结果写入输出文件 我搜索并找

我想在bash中运行一个命令,例如
/command-I INPUT\u FILE-o OUTPUT\u FILE
,它接受两个参数,1)输入文件的路径和2)输出文件的路径。它处理
输入文件
,并将结果写入
输出文件
。是否有任何方法可以将
INPUT\u文件
OUTPUT\u文件
作为一些变量提供?因此,我不希望将文件存储在磁盘中,而是希望将它们作为变量馈送/存储在内存中。请注意,输出是在提供的文件路径中写入的,而不是标准输出(否则很明显)。在命令的核心部分,它用C语言打开流的
,将结果写入
输出文件

我搜索并找到了输入部分的解决方案,输入部分正在工作,但输出部分没有。以下是建议的解决方案:
/command-i您可以使用
tmpfs
实现该功能,它是一个位于RAM中的虚拟文件系统

对于当前用户,您可以使用
/run/user/$UID/
目录,例如

./command -i <(cat <<< "$INPUT_VARIABLE") -o /run/user/$UID/OUTPUT_FILE

/command-i简短的回答是“否”。如果命令希望从磁盘读取数据并写入磁盘,那么它将转到磁盘。甚至“你能解释一下对磁盘的实际异议是什么吗?@TimRoberts正在使用
/dev/stdin
&
/dev/stdout
作为文件名,而不是你的解决方案吗?”?蒂姆·罗伯茨,谢谢你,蒂姆。你的回答很有道理。如果我可以从字里行间看出的话,他的文章的要点是他希望输入来自shell变量,输出来自shell变量。当然有很多方法可以让输入和输出文件驻留在许多不同的位置,但它们都是Unix意义上的文件。我坚持我最初的回答“不”,只是为了让OP重新思考。谢谢Andrew,正如Tim提到的,这个解决方案将文件写入磁盘,但我希望它将文件写入变量。原因是我必须多次运行此命令,我不想让磁盘被许多临时文件弄乱。这个答案的全部要点是tmpfs从未接触过您的磁盘-它位于RAM中,并且从未离开过它。As-tmpfs是在许多类Unix操作系统中实现的临时文件存储范例。它旨在显示为已装入的文件系统,但数据存储在易失性内存中,而不是永久性存储设备中。只要你有足够的内存来存储你的数据,你就可以使用它,这就是为什么我建议在每次访问之后清理你的文件invocation@TimRoberts,我完全同意你的观点,因为变量是一个外壳结构,与抽象程序无关,所以你不能像对待文件那样从变量中读取和写入变量,但是这个答案可以帮助人们解决合法的问题,比如在tmpfs中存储临时文件而不是慢速存储,或者消除启动多个任务和同步工作的延迟。