arm*_*ino 5 python subprocess popen
我想find在多个条件下执行,例如:查找foo,排除隐藏文件:
find . -type f \( -iname '*foo*' ! -name '.*' \)
Run Code Online (Sandbox Code Playgroud)
Python代码:
import subprocess
cmd = ["find", ".", "-type", "f", "(", "-iname", "*foo*", "!", "-name", ".*", ")"]
sp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print sp.communicate()[0].split()
Run Code Online (Sandbox Code Playgroud)
有人可以解释我所缺少的吗?谢谢!
VB9*_*NIC -1
至少,需要转义那里的*。
第二,通过反斜杠转义 ( 和 ) (将“\\(”和“\\)”传递给 shell)
cmd = ["find", ".", "-type", "f", "\\(", "-iname", "\\*foo\\*", "!", "-name", ".\\*", "\\)"]
Run Code Online (Sandbox Code Playgroud)
或者甚至只是摆脱那些(和) -
cmd = ["find", ".", "-type", "f", "-iname", "\\*foo\\*", "!", "-name", ".\\*"]
Run Code Online (Sandbox Code Playgroud)
应该可以正常工作
| 归档时间: |
|
| 查看次数: |
2649 次 |
| 最近记录: |