Python 2.6.9 (unknown, Mar 7 2016, 11:15:18)
[GCC 5.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import subprocess
>>> subprocess.check_call(['echo', 'hi'], stderr=sys.stdout)
echo: write error: Bad file descriptor
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/subprocess.py", line 488, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['echo', 'hi']' returned non-zero exit status 1
यह आदेश, subprocess.check_call(['echo', 'hi'], stderr=sys.stdout)
, पायथन 2.7 और पायथन 3 में ठीक काम करता है 3. पायथन 2.6 अलग-अलग क्या कर रहा है?`subprocess.check_call (..., stderr = sys.stdout) क्यों पाइथन 2.6 में विफल रहता है?
क्या यह एक पथ या अनुमति की बात हो सकती है? क्या 'subprocess.check_call (['/ bin/echo', 'hi'], stderr = sys.stdout) 'काम? – jDo
एचएम, निश्चित रूप से 'stderr' के पुनर्निर्देशन के साथ करना है, हालांकि मैं जल्दी से नहीं देख सकता कि 2.6 और 2.7 के बीच subprocess.py में क्या बदल गया है। –
@jDo जो एक ही परिणाम देता है। मुझे लगता है कि अगर यह एक अनुमति मुद्दा था, तो यह 2.6 और 2.7 के बराबर होगा? –