python - 如何在 python 脚本上运行高级 Linux 命令
问题描述
我想得到以下linux命令的字符串输出
systemctl show node_exporter |grep LoadState| awk '{split($0,a,"="); print a[2]}'
我试过了
import subprocess
output = subprocess.check_output("systemctl show node_exporter |grep LoadState| awk '{split($0,a,"="); print a[2]}'", shell=True)
但输出是, output = subprocess.check_output("systemctl show node_exporter |grep LoadState| awk '{split($0,a,"="); print a[2]}'", shell=True) SyntaxError: keyword can不是表达
解决方案
您需要转义双引号(因为它们指示字符串的开始/结束):
import subprocess
output = subprocess.check_output("systemctl show node_exporter |grep LoadState| awk '{split($0,a,\"=\"); print a[2]}'", shell=True)
推荐阅读
- c++ - 如何将一个指针指向的地址存储到另一个指针?
- teradata - Snowflake 与 Teradata 中的表类型
- spring-batch - 识别 Spring Batch 中基于块的步骤中哪个块失败
- node.js - 如何从嵌套的 require 访问文件中的 module.export 数据
- java - 如何在 android WebView 中检测正在播放的视频?
- python - 如何在 python 中创建 BaseClass 的对象并将 SubClass 与它链接?
- rust - 预先生成大量数据的“队列”以立即在 actix-web 端点中获取它
- java - 从 Google Drive V3 API 中的回收站恢复文件时未设置时间戳
- reactjs - 每张卡片下的空白太多,使用 reactjs-social-embed
- amadeus - 使用 amadeus api 构建航班预订引擎时出现某些错误的说明