1
在Unix上,如何才能將ksh函數的輸出作爲Python變量來輸出? 該函數被稱爲sset
,並在我的「.kshrc」中定義。Python:返回ksh函數的輸出
我嘗試根據評論推薦使用subparser
模塊。這是我想出了:
import shlex
import subprocess
command_line = "/bin/ksh -c \". /Home/user/.khsrc && sset \""
s = shlex.shlex(command_line)
subprocess.call(list(s))
而且我得到一個Permission denied
錯誤。這裏的回溯:
Traceback (most recent call last):
File "./pymss_os.py", line 9, in <module>
subprocess.call(list(s))
File "/Soft/summit/tools/Python-2.7.2/Lib/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/Soft/summit/tools/Python-2.7.2/Lib/subprocess.py", line 679, in __init__
errread, errwrite)
File "/Soft/summit/tools/Python-2.7.2/Lib/subprocess.py", line 1228, in _execute_child
raise child_exception
OSError: [Errno 13] Permission denied
額外的細節:
- 的Python 2.7
- KSH版M-11/16/88I
- 的Solaris 10(在SunOS 5.10)
搜索。這裏有一個提示。在這裏搜索「subprocess」和「collect output」和「python」。 –
[如何在Python中調用外部命令]可能的重複(http://stackoverflow.com/questions/89228/how-to-call-external-command-in-python) –
http://stackoverflow.com/search q =%5Bpython%5D + +殼管 – sehe