想使用 Python 运行 shell 并获取输出结果,可以使用 Python 的 subprocess
模块实现。具体的步骤:
- 导入
subprocess
模块:
import subprocess
- 使用
subprocess
模块的run
函数执行命令:
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
其中,['ls', '-l']
是要执行的命令和参数,该命令会列出当前目录下的文件和文件夹,并以长格式输出。stdout
和 stderr
分别表示该命令的标准输出和错误输出,使用 subprocess.PIPE
表示将其保存到变量中。
- 获取命令输出结果:
output = result.stdout.decode('utf-8')
将标准输出(stdout
)以 UTF-8 编码解码为字符串。
完整的代码示例:
import subprocess
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = result.stdout.decode('utf-8')
print(output)
运行结果会输出当前目录下的文件和文件夹名字和详情信息。
另外一个示例,假设要使用 Python 脚本获取当前日期和时间:
import subprocess
result = subprocess.run(['date'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = result.stdout.decode('utf-8')
print(output)
该命令会输出当前日期和时间。
注意:使用 subprocess
模块需要注意安全问题,应该避免用户输入的命令对系统造成伤害。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 运行 shell 获取输出结果的实例 - Python技术站