如何使外壳了解通过subprocess.call()传递的通配符

Shandeep Murugasamy

当我执行脚本时,出现以下错误:

['grep', 'PORTALSHARED', '*']
grep: *: No such file or directory

当我在shell上执行时,相同的命令也可以正常工作。

下面是脚本:

a = shlex.split('grep PORTALSHARED *')
print a

for pdir, _, _ in os.walk(r'/Users/skandasa/perforce/projects/releases/portal-7651'):
   os.chdir(pdir)
   print os.getcwd()
   subprocess.call(a)

我尝试添加,shell = True但是没有用。

阿南德·库玛(Anand S Kumar)

*由shell扩展,因此,如果要subprocess.call()对此进行处理,则需要传递shell=True例子 -

a = 'grep PORTALSHARED *'
subprocess.call(a, shell=True)

请注意,使用时shell=True,您应该发送完整的字符串作为命令,而不是split版本。


但是鉴于此,我认为您并不是真的需要os.chdir(),您可以尝试-

a = 'grep PORTALSHARED {}'
for pdir, _, _ in os.walk(r'/Users/skandasa/perforce/projects/releases/portal-7651'):
   subprocess.call(a.format(pdir + '/*'), shell=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过管道将每个命令传递给外壳?

来自分类Dev

为什么当使用*通配符通过Python的subprocess.call调用时,tar无法创建存档?

来自分类Dev

如何在subprocess.check_call()中传递多个参数?

来自分类Dev

如何为 Selenium(c#) 使用的 XPath 传递通配符

来自分类Linux

如何将通配符参数传递给bash文件

来自分类Dev

如何在命令行中传递通配符

来自分类Dev

如何通过脚本中的变量将'*'通配符传递给find命令的路径参数?

来自分类Dev

如何在外壳中通过管道传递md5哈希结果

来自分类Dev

通过外壳将参数传递给python

来自分类Dev

了解QScopedPointer通过引用传递

来自分类Dev

外壳程序(例如bash)如何扩展通配符模式?

来自分类Dev

如何将“”作为参数传递给subprocess.check_call?

来自分类Dev

如何将变量传递给 subprocess.call 使用的 cmd

来自分类Dev

如何将 * 传递给没有通配符扩展的 java 程序?

来自分类Dev

将字符串传递给subprocess.run似乎将其括在单引号中,否定了通配符搜索?

来自分类Dev

将列表变量传递给Subprocess.call函数

来自分类Dev

将环境变量传递给`subprocess.call`

来自分类Dev

Python:通过 subprocess.call 命令重申

来自分类Dev

PHP zend_call_method 通过引用传递参数

来自分类Dev

Python Subprocess如何传递subshell参数

来自分类Dev

如何通过通配符复制多个文件?

来自分类Dev

如何通过lambda函数传播snakemake通配符

来自分类Dev

如何通过通配符模式构建 dotnet

来自分类Dev

了解通配符约束<?超级T>

来自分类Dev

了解ENUM响应中的通配符

来自分类Dev

如何使用AndroidJavaObject.Call将参数传递给Java?

来自分类Dev

如何将 http.call 结果传递给模板?

来自分类Dev

在外壳通配符中使用OR模式

来自分类Dev

我可以更改外壳的通配符吗?

Related 相关文章

  1. 1

    如何通过管道将每个命令传递给外壳?

  2. 2

    为什么当使用*通配符通过Python的subprocess.call调用时,tar无法创建存档?

  3. 3

    如何在subprocess.check_call()中传递多个参数?

  4. 4

    如何为 Selenium(c#) 使用的 XPath 传递通配符

  5. 5

    如何将通配符参数传递给bash文件

  6. 6

    如何在命令行中传递通配符

  7. 7

    如何通过脚本中的变量将'*'通配符传递给find命令的路径参数?

  8. 8

    如何在外壳中通过管道传递md5哈希结果

  9. 9

    通过外壳将参数传递给python

  10. 10

    了解QScopedPointer通过引用传递

  11. 11

    外壳程序(例如bash)如何扩展通配符模式?

  12. 12

    如何将“”作为参数传递给subprocess.check_call?

  13. 13

    如何将变量传递给 subprocess.call 使用的 cmd

  14. 14

    如何将 * 传递给没有通配符扩展的 java 程序?

  15. 15

    将字符串传递给subprocess.run似乎将其括在单引号中,否定了通配符搜索?

  16. 16

    将列表变量传递给Subprocess.call函数

  17. 17

    将环境变量传递给`subprocess.call`

  18. 18

    Python:通过 subprocess.call 命令重申

  19. 19

    PHP zend_call_method 通过引用传递参数

  20. 20

    Python Subprocess如何传递subshell参数

  21. 21

    如何通过通配符复制多个文件?

  22. 22

    如何通过lambda函数传播snakemake通配符

  23. 23

    如何通过通配符模式构建 dotnet

  24. 24

    了解通配符约束<?超级T>

  25. 25

    了解ENUM响应中的通配符

  26. 26

    如何使用AndroidJavaObject.Call将参数传递给Java?

  27. 27

    如何将 http.call 结果传递给模板?

  28. 28

    在外壳通配符中使用OR模式

  29. 29

    我可以更改外壳的通配符吗?

热门标签

归档