Python:ksh函数的返回输出

2024-10-03 13:17:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在Unix上,如何将ksh函数的输出作为Python变量检索? 该函数名为sset,在my“.kshrc”中定义。在

我尝试根据评论建议使用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错误。回溯如下:

^{pr2}$

额外细节:

  • Python 2.7
  • Ksh版本M-11/16/88i
  • Solaris 10(SunOS 5.10)

Tags: 函数import定义myline评论unix建议
1条回答
网友
1楼 · 发布于 2024-10-03 13:17:26

shlex没有执行您想要的操作:

>>> list(shlex.shlex("/bin/ksh -c \". /Home/user/.khsrc\""))
['/', 'bin', '/', 'ksh', '-', 'c', '". /Home/user/.khsrc"']

你试图执行根目录,这是不允许的,因为,好吧,它是一个目录,而不是一个可执行文件。在

相反,只要付出subprocess.call程序名称和所有参数的列表:

^{pr2}$

相关问题 更多 >