【发布时间】:2012-12-02 07:04:56
【问题描述】:
我在看this 问题。
就我而言,我想做一个:
import subprocess
p = subprocess.Popen(['ls', 'folder/*.txt'], stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
out, err = p.communicate()
现在我可以在命令行上检查执行“ls 文件夹/*.txt”是否有效,因为该文件夹有许多 .txt 文件。
但在 Python (2.6) 中我得到:
ls: 无法访问 * : 没有这样的文件或目录
我尝试过这样做:
r'folder/\*.txt'
r"folder/\*.txt"
r'folder/\\*.txt'
和其他变体,但似乎Popen 根本不喜欢* 字符。
有没有其他方法可以逃脱*?
【问题讨论】:
-
逃脱它?我认为您想要的是先扩展“*”,然后运行 ls 命令。阅读“外壳扩展”。
标签: python subprocess ls