当前位置: 首页 > 面试题库 >

在Python中,以字符串的形式获取系统命令的输出

柳胜
2023-03-14
问题内容

在python中,我可以使用os或subprocess运行一些系统命令。问题是我无法以字符串形式获取输出。例如:

>>> tmp = os.system("ls")
file1 file2
>>> tmp
0

我有一个没有功能check_out的较旧版本的子流程,并且我希望有一个不需要更新该模块的解决方案,因为我的代码将在没有完全管理员权限的服务器上运行。

这个问题似乎微不足道,但我找不到微不足道的解决方案


问题答案:

用途os.popen()

tmp = os.popen("ls").read()

执行此操作的较新方法(> python
2.6)是使用subprocess

proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
tmp = proc.stdout.read()


 类似资料:
  • 我使用JSCH-SSH库在“shell”通道中执行命令,但无法找到一种方法来做两件事:- 1)如何查找命令是否在远程unix box上完全执行? 2)如何在String中捕获命令输出,而不是在System.out控制台上打印? 下面是我的代码片段,它可以很好地在系统上显示shell命令输出。出来 注意:我不想使用“exec”通道,因为它为每个命令启动一个新进程,并且不记得导出的“session”变

  • 问题内容: 我正在使用JSCH -SSH库在“ shell”通道中执行命令,但找不到找到两种方法的方法: 1)如何查找命令是否在远程unix box上完全执行? 2)如何在String中捕获命令输出,而不是在System.out控制台上打印它? 下面是我的代码片段,可以在system.out上显示shell命令输出 注意:我不想使用“ exec”通道,因为它为每个命令启动一个新进程,并且不记得已导

  • 问题内容: 我有一个C python扩展名,我想打印一些诊断信息。 我收到一个字符串作为PyObject *。 获取此对象的字符串表示形式(使其可用作const char *)的规范方法是什么? 更新: 澄清以强调访问为const char *。 问题答案: 使用(模仿Python的函数)或(模仿),然后调用get (您可以并且通常应该将其用作,例如: 任何人都可以使用此方法。如果您完全确定是Py

  • 获取对象的类名为,使用: 返回如下内容: 我正在寻找纯版本:。我如何得到一个清理过的类名字符串呢? 我发现了一些关于这个的问题,但没有真正的答案。难道一点都不可能吗?

  • 经过一些研究,我发现了这些关于变量的问题(1,2)。类似地,我想知道是否有可能在Python中以字符串的形式获取列表的名称,例如: 对于列表,可以使用这样的方法 应返回。

  • 本文向大家介绍如何在Python中以字符串形式获取函数名称?,包括了如何在Python中以字符串形式获取函数名称?的使用技巧和注意事项,需要的朋友参考一下 每个函数都有一个名为__name__的属性。我们可以访问该属性并获取函数的名称。例如: 这将给我们输出: