0
Python 2では、一時ファイルを作成してアクセスするのは簡単でした。しかし、Python 3では、もはやそうではないようです。私はtempfile.NamedTemporaryFile()で作成するファイルにどのようにアクセスできるのか混乱しているので、その上でコマンドを呼び出すことができます。例えばPython NamedTemporaryFileは、データの書き込み後も空に見えます。
:
temp = tempfile.NamedTemporaryFile()
temp.write(someData)
subprocess.call(['cat', temp.name]) # Doesn't print anything out as if file was empty (would work in python 2)
subprocess.call(['cat', "%s%s" % (tempfile.gettempdir(), temp.name])) # Doesn't print anything out as if file was empty
temp.close()
Works for me? 'temp.name'は私に正しいファイル名を与えます(' '/ var/folders/ck/s38sycld0tvgb5qhmqtf750r0000gn/T/tmp7ejqww3s' ') – L3viathan
「*動作しません」とはどういう意味ですか?それは十分な問題の仕様ではありません。そして、それがそのままで、それは私のためにうまく動作します... –
わかりました、私は推測があります: 'temp.flush()'を呼び出すの後に呼び出します。あなたが書いているデータはバッファリングされています。 – L3viathan