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

在子过程中扩展Shell?[重复]

蒙弘图
2023-03-14
问题内容

这个问题已经在这里有了答案

7年前关闭。

可能重复:
Python子流程通配符用法

使用Python 2.6子流程模块,我需要在要使用先前的子流程调用构建的src.rpm文件上运行命令。

不幸的是,我使用的规范文件不一致,因此我对src.rpm的文件名应该是什么样的模棱两可(例如,我知道包的名称和扩展名为“
{package}-{version} .src.rpm”,而不是版本)。

但是,我确实知道我要查找的目录中只有一个src.rpm文件,因此我可以使用以下命令来调用模拟

mock {options} *.src.rpm

并使其可以在Shell中运行,但是子进程似乎不想接受扩展。我已经尝试使用(shell =
True)作为subprocess.call()的参数,但是即使它起作用了,我还是希望避免使用它。

我如何得到类似的东西

subprocess.call("mock *.src.rpm".split())

跑步?


问题答案:

使用glob包装:

import subprocess    
from glob import glob
subprocess.call(["mock"] + glob("*.src.rpm"))


 类似资料:
  • 扩展 发生在一行命令被分成一个个的 记号(tokens) 之后。换言之,扩展是一种执行数学运算的机制,还可以用来保存命令的执行结果,等等。 感兴趣的话可以阅读关于shell扩展的更多细节。 大括号扩展 大括号扩展让生成任意的字符串成为可能。它跟 文件名扩展 很类似,举个例子: echo beg{i,a,u}n # begin began begun 大括号扩展还可以用来创建一个可被循环迭代的区间。

  • 问题内容: 我有子过程命令将md5校验和检查为 它工作正常。但是我读了尽量避免 但是当我跑步 我得到错误 我可以运行以上命令或解决方法还是可以保留? 问题答案: 只需将参数传递为 列表即可 : 从文档: args 是所有调用所必需的,并且应为字符串或程序参数序列。通常最好提供一个参数序列,因为它允许模块处理任何必需的参数转义和引用(例如,允许在文件名中保留空格)。如果传递单个字符串,则必须是 sh

  • App Shell 模型 App Shell 架构是构建 PWA 应用的一种方式,它通常提供了一个最基本的 Web App 框架,包括应用的头部、底部、菜单栏等结构。顾名思义,我们可以把它理解成应用的一个「空壳」,这个「空壳」仅包含页面框架所需的最基本的 HTML 片段,CSS 和 javaScript,这样一来,用户重复打开应用时就能迅速地看到 Web App 的基本界面,只需要从网络中请求、加

  • 问题 在子类中,你想要扩展定义在父类中的property的功能。 解决方案 考虑如下的代码,它定义了一个property: class Person: def __init__(self, name): self.name = name # Getter function @property def name(self): retu

  • Szenario:我有两个扩展,它们用一些特定字段扩展了。在TYPO3 9之前,我必须使用以下打字脚本配置对新闻扩展的依赖关系进行配置: 模型扩展了基本扩展的模型: 在TYPO3 10中,在(中断:#87623): 只要您只有一个扩展新闻扩展名的扩展名,它就可以工作多久。如果您有第二个扩展并启用TYPO3缓存,您将得到一个错误,即在第一个扩展中添加的字段在新闻扩展的模板中不可用。奇怪的是,这个问题

  • 问题内容: 这是我的脚本: 在“ read caminho”中,我可能会从用户那里收到〜/ somefolder之类的路径。当脚本接收到这样的路径时,mv和mkdir都不会进行波浪号扩展,因此它将尝试创建〜/ somefolder而不是/ home / username / somefolder,因此失败。 如何确保将波浪号转换为HOME变量? 问题答案: 您可能需要评估该变量以正确替换它。一个例