現在、バイナリ形式(netCDF)からデータを読み取り、そこからcsvファイルを読み取るPythonスクリプトをプログラミングしています。csvファイルのみを受け入れる別のプログラムから再度読み取るだけです。
メモリ内の CSV ファイルを 2 番目のプログラムに直接渡すオプションはありますか? ある種の疑似ファイル?2 番目のプログラムは、CSV ファイルを読み取っていると認識しているが、実際にはインメモリ ファイルにすぎないのでしょうか?
現在、バイナリ形式(netCDF)からデータを読み取り、そこからcsvファイルを読み取るPythonスクリプトをプログラミングしています。csvファイルのみを受け入れる別のプログラムから再度読み取るだけです。
メモリ内の CSV ファイルを 2 番目のプログラムに直接渡すオプションはありますか? ある種の疑似ファイル?2 番目のプログラムは、CSV ファイルを読み取っていると認識しているが、実際にはインメモリ ファイルにすぎないのでしょうか?
subprocess
モジュールのパイピング機能を使用して、データを他のプログラムに書き込むことができます。
import subprocess
proc = subprocess.Popen("/usr/bin/tac", stdin=subprocess.PIPE) # Output will go to stdout
proc.communicate("hello\nworld\n") # This data goes to the subprocess.
出力します(というか、出力しますtac
)
world
hello
編集:これは、他のプログラムが標準入力からの読み取りをサポートしていることを前提としています。そうでない場合は、おそらく UNIX ライクなシステムで fifos を使用してこれをシミュレートできます...