相关疑难解决方法(0)

Python子进程通配符用法

import os

import subprocess

proc = subprocess.Popen(['ls','*.bc'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

out,err = proc.communicate()

print out
Run Code Online (Sandbox Code Playgroud)

此脚本应打印带有.bc后缀的所有文件,但它会返回一个空列表.如果我在命令行中手动执行ls*.bc它可以工作.在脚本中执行['ls','test.bc']也可以,但由于某些原因,星形符号不起作用..任何想法?

python subprocess wildcard

58
推荐指数
2
解决办法
3万
查看次数

Python子进程中的Shell扩展

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

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

不幸的是,我正在使用不一致的spec文件,所以我对src.rpm的文件名应该是什么样子只有一个模糊的概念(例如,我知道包的名称和名称中的扩展名" {package} - {version} .src.rpm"但不是版本).

但是,我知道我在目录中只有一个src.rpm文件,所以我可以用类似命令调用mock

mock {options} *.src.rpm

并让它在shell中工作,但子进程似乎不想接受扩展.我尝试使用(shell = True)作为subprocess.call()的参数,但即使它工作,我宁愿避免它.

我怎么得到类似的东西

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

跑步?

python shell python-2.6

3
推荐指数
1
解决办法
3105
查看次数

标签 统计

python ×2

python-2.6 ×1

shell ×1

subprocess ×1

wildcard ×1