Python 2.7 通过子流程模块从python调用octave
我被python subprocess.Popen卡住了。我只想开始八度音程Python 2.7 通过子流程模块从python调用octave,python-2.7,octave,subprocess,Python 2.7,Octave,Subprocess,我被python subprocess.Popen卡住了。我只想开始八度音程 process = subprocess.Popen(['octave.exe', '--eval "1+1"'], stdout=subprocess.PIPE) process.wait() print(process.stdout.read()) 但我得到的只是 octave.exe: unrecognized option '--eval "1+1"' usage: octave [-HVdfhiqvx]
process = subprocess.Popen(['octave.exe', '--eval "1+1"'], stdout=subprocess.PIPE)
process.wait()
print(process.stdout.read())
但我得到的只是
octave.exe: unrecognized option '--eval "1+1"'
usage: octave [-HVdfhiqvx] [--debug] [--echo-commands] [--eval CODE]
[--exec-path path] [--help] [--image-path path] [--info-file file]
[--info-program prog] [--interactive] [--line-editing]
[--no-history] [--no-init-file] [--no-init-path] [--no-line-editing]
[--no-site-file] [--no-window-system] [-p path] [--path path]
[--silent] [--traditional] [--verbose] [--version] [file]
当我从shell调用倍频程时,我得到
Shell: octave --eval "1+1"
GNU Octave, version 3.6.1
Copyright (C) 2012 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'.
Octave was configured for "i686-pc-mingw32".
Additional information about Octave is available at http://www.octave.org.
Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html
Read http://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type `news'.
ans = 2
系统运行Windows 7 x64。“subprocess.list2cmdline”用于构建路径。任何空格和引号都将被转换。因此,下面的参数列表是正确的
args = ["octave.exe", "--eval", '1+1']
print(subprocess.list2cmdline(args))