Raising exception on STDIN read
gagsl-py2 at yahoo.com.ar
Wed Feb 27 21:26:29 CET 2008
En Wed, 27 Feb 2008 15:06:36 -0200, Ian Clark <iclark at mail.ewu.edu>
> On 2008-02-27, Michael Goerz <newsgroup898sfie at 8439.e4ward.com> wrote:
>> I would like to raise an exception any time a subprocess tries to read
>> from STDIN:
>> latexprocess = subprocess.Popen( \
>> 'pdflatex' + " " \
>> + 'test' + " 2>&1", \
>> shell=True, \
>> cwd=os.getcwd(), \
>> env=os.environ, \
>> stdin=StdinCatcher() # any ideas here?
>> An exception should be raised whenever the pdflatex process
>> reads from STDIN... and I have no idea how to do it. Any suggestions?
> How about with a file-like object? I haven't tested this with subprocess
> so you might want to read the manual on files if it doesn't work.
Won't work for an external process, as pdflatex (and the OS) knows nothing
about Python objects. The arguments to subprocess.Popen must be actual
files having real OS file descriptors.
Try with stdin=open("/dev/full") or stdin=open("/dev/null")
More information about the Python-list