表达式 awk、python 中的无效字符

2024-01-02

我有一个如下所示的命令:

ps v -p 2585 | awk '{if ($9 != "%MEM") {print $9}}'

现在这在 bash 中运行得很好,它只需要你给它的任何 pid 的内存部分。不过我现在正在尝试用 python 实现它,但遇到了一些问题。这是我在 python 中的内容

cmd1 = ['ps', 'v', '-p', pid]
cmd2 = ['awk', '\'{if ($9 != "%MEM") {print $9}}\'']

现在运行它们...

runcmd1 = subprocess.Popen(cmd1, stdout=subprocess.PIPE)
runcmd2 = subprocess.Popen(cmd2, stdin=runcmd1.stdout, stdout=subprocess.PIPE)

我收到此错误:

awk: '{if (\$9 != "%MEM") {print \$9}}'
awk: ^ invalid char ''' in expression

我用它来打印命令的样子...... sys.stdout.write(' '.join(cmd1)+' '+'|'+' '+' '.join(cmd2)+'\n')

它给出了:

ps v -p 1073 | awk '{if ($9 != "%MEM") {print $9}}'

我认为这和实际运行的 bash 命令没有区别。有人可以帮忙吗?


当您通过 popen 运行 awk 命令时,您不需要保护 awk 命令免受 shell 的影响(参数已经分成一个列表,因此您的空格不会受到影响)。

cmd2 = ['awk', '{if ($9 != "%MEM") {print $9}}']

会工作得很好。


注释以供将来参考

Python 有一些编写字符串的好方法,可以避免像您在此处尝试做的那样转义,适合您确实需要的情况:

'''In this string, I don't need to escape a single ' character,
   or even a new-line, because the string only ends
   when it gets three ' characters in a row like this:'''

"""The same is true of double-quotes like this.
Of course, whitespace and both the ' and " quote characters
are safe in here."""
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

表达式 awk、python 中的无效字符 的相关文章

  • UNIX 统计时间格式

    是否可以格式化 stat 的时间输出 我在用 stat c n A z filename 在 bash 脚本中 但它的时间格式不是我想要的 是否可以在命令中更改此格式 或者我必须稍后手动执行此操作 示例输出如下 lib drwxr xr x
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图

随机推荐

  • CDI 事务管理:@Transactional 如何工作?

    在会话范围内有一个简单的 CDI bean 并注入了实体管理器 Named myBean SessionScoped public class MyBean implements Serializable private static fi
  • Vue模板如何禁止控制台登录?

    起源 log Vue prototype log console log 禁止场所
  • 在 Haskell 中从 Excel 读取数据

    我想从 xls 文件获取数据 而无需手动打开 Excel 一种可能性是使用 COM 自动化 有com 1 2 3 http hackage haskell org package com 1 2 3 and hdirect http hac
  • PHP比较二维数组

    我想知道如何比较两个二维数组的值 第一个数组 Array 1 0 gt Array 0 gt a 1 gt Array 0 gt b 2 gt Array 0 gt c 第二个 Array 2 0 gt Array 0 gt a 1 gt
  • 并非所有实例都在 Azure 应用服务中运行

    我正在使用 Azure 应用服务 它托管使用以下命令从事件中心读取数据的应用程序EventProcessorHost 我分配了 6 个实例 手动缩放 来运行 我检查了指标 CPU Time 在App Service中发现只有5个实例正在运行
  • JSON.NET Visual Studio 2008 和 .NET 3.5 紧凑框架

    我可以在 Visual Studio 2008 中使用 JSON NET 和 NET 3 5 Compact Framework 吗 如何在 IDE 中安装 配置它 我在网上搜索过但找不到 我找到了这个Visual Studio 2008
  • Elmah:如何从错误报告中获取 JSON HTTP 请求正文

    我正在使用 Elmah 来记录异常 如果请求是基于表单的请求 即 Content Type application x www form urlencoded 则 Elmah 非常擅长记录请求主体 但对于基于 JSON 的请求 其中内容类型
  • std::shared_ptr 初始化:make_shared() vs shared_ptr(new Foo) [重复]

    这个问题在这里已经有答案了 有什么区别 std shared ptr
  • 使用 javascript 从 div 获取值:始终未定义[重复]

    这个问题在这里已经有答案了 当我从 div 获取值时遇到这个问题 function sync var n1 document getElementById editor value alert n1 var n2 document getE
  • Spring Data JPA 与远程 MySQL 服务器的 ssh 隧道

    我使用 Spring Data JPA 和 Hibernate 作为持久性提供程序 并结合远程 MySQL5 服务器来执行定期复制内部数据子集的作业 该作业 即石英调度的 Java 应用程序 每天运行一次 大约需要30秒完成同步 出于安全原
  • Django 内联表单集和选择字段生成太多数据库查询

    我有一个包含许多外键字段的模型 例如具有 类型 级别 颜色 强度 字段的模型产品 只是一个通用示例 然后 我有一个页面可以使用类型表单编辑给定类型的所有产品 并将产品作为内联表单集 并可以选择添加其他内联产品extra 10 我觉得很奇怪的
  • 如何对二进制 Thrift 文件进行逆向工程?

    我被要求处理一些序列化为二进制的文件 不幸的是不是文本 JSON Thrift http incubator apache org thrift 对象 但我无权访问创建这些文件的程序或程序员 所以我不知道它们的结构 字段顺序等 有没有办法使
  • python:如何将列表中的每个值与另一个列表中的所有值相乘

    EDIT2 我已经删除了其余的代码 这样我就不会破坏解决方案 感谢您的帮助 编辑 我包含了我的整个代码 我不想包含它 因为我不想破坏任何自己尝试这个问题的人的解决方案 但我需要帮助 所以就在这里 我通过执行以下操作手动完成此操作 但我希望它
  • 等号(=) 和 IN 与子查询的区别

    我有一个查询需要 20 秒才能执行 请按照我的查询操作 SELECT MATLIGA COD MAT FAMILIA FROM ORCAMENTOS dbo OR 1INSUMOS INSUMOS INNER JOIN ORCAMENTOS
  • SQLite3和多进程

    当多个进程访问同一个SQLite数据库文件时 如何保证正确性 首先 避免并发访问sqlite数据库文件 并发性是 sqlite 的弱点之一 如果您有高度并发的应用程序 请考虑使用其他数据库引擎 如果您无法避免并发或删除 sqlite 请包装
  • XPath 不适用于动态 HTML 文档

    注意 这个问题及其答案对于大多数 所有支持 XPath 的编程语言和库都有效 而不仅仅是 JavaScript 使用以下代码创建一个非常简单的 HTML 页面 实际代码加载远程页面 但我试图将您的注意力集中在这里的主要问题上 var dt
  • 无法识别的选择器发送到实例 UIViewController

    我不断收到错误 NSInvalidArgumentException 原因 UIViewController setPhotoCellName 无法识别的选择器发送到实例 当我进入准备segue调用时 目前我有 TabBarControll
  • 如何在 Grails 中外部化自定义约束?

    我想将自定义约束验证器闭包保留在属性的约束定义之外 因为这样更容易阅读和重用 但我做错了 我正在尝试这样做 class City String name static constraints name nullable false blan
  • 更新模型并将更新操作与 UI 绑定

    我目前已经使用 AngularJS 开发了一个内容表 该表将基于 Angular 服务 模型 进行填充 该模型调用 Web 服务并返回列表 并使用 ng repeat 并创建一个表及其所有内容 目前一切正常 但我有一个小问题 在表的一部分
  • 表达式 awk、python 中的无效字符

    我有一个如下所示的命令 ps v p 2585 awk if 9 MEM print 9 现在这在 bash 中运行得很好 它只需要你给它的任何 pid 的内存部分 不过我现在正在尝试用 python 实现它 但遇到了一些问题 这是我在 p