我想從python運行shell命令,並獲取語法錯誤。這可能與嵌套引號有關,但我無法弄清楚如何使其工作。Python子進程給出語法錯誤,但從shell運行
下面是一個命令:
In [44]: command
Out[44]: '/Applications/itt/idl/bin/idl -e "print, barycorr(2456718.886512, 16.109814, -36.799472, 0, obsname=\'CTIO\')"'
In [45]: print command
/Applications/itt/idl/bin/idl -e "print, barycorr(2456718.886512, 16.109814, -36.799472, 0, obsname='CTIO')"
當我運行無論使用下面的兩個命令,我得到了IDL語法錯誤:
subprocess.call(command, shell=True)
subprocess.call(shlex.split(command))
如果我運行命令(輸出)[45])從命令行,它完美的作品。任何想法我做錯了什麼?
謝謝!
請發佈完整的錯誤追溯。 – 2014-10-18 10:24:11