如何将值从python脚本发送到控制台并退出

时间:2019-03-25 08:23:05

标签: python

我的python脚本生成用户需要在同一控制台中运行的正确命令。我的情况是用户正在运行脚本,然后看到必须运行的命令。有什么方法可以退出python脚本并将该命令发送到控制台,因此用户无需复制/粘贴?

2 个答案:

答案 0 :(得分:0)

一种解决方案是让您的python脚本(简称为script.py)仅 print 命令:print('ls -l')并在如下终端中使用它:{{ 1}}。这使bash作为命令运行脚本的输出,并且基本上会在终端中运行$(python3 script.py)

您甚至可以更进一步,并在ls -l中创建一个别名,这样您就不再需要呼叫整行。您可以在文件末尾编写类似~/.bashrc的文字。启动新终端后,您可以输入alias printls=$(python3 /path/to/script.py),脚本将运行。

此方法的一个缺点是您没有适当的方法来处理代码中的异常或错误,因为它打印的所有内容都将作为命令运行。一种方法(虽然很丑)是去printls,以便运行命令的用户可以看到某些故障。

但是,我建议采用“传统”方式并直接从python运行命令。以下是如何实现此目的的链接:Calling an external command in Python

答案 1 :(得分:0)

Python可以在新的子Shell中运行系统命令。正确的方法是通过subprocess模块,但是对于简单的任务,仅使用os.system会更容易。示例Python脚本(假设是类Unix系统):

import os
os.system('ls')