Python长列表目录(ls -l),ls *

时间:2012-03-28 22:19:11

标签: python shell

我正在尝试从python中找到ls -l,以检查文件的最后修改日期。

os.listdir未显示长列表格式。 subprocess.call显示格式,但实际打印它,并返回0.我希望能够将它放在变量中。有什么想法吗?

另外,我试过

subprocess.call("ls","*.py")

回答

ls: cannot access *.py: No such file or directory

它可以与shell=True一起使用,但如果有人能解释为什么没有它就行不通,我会很感激。如果你知道如何使它工作,那就更好了。

1 个答案:

答案 0 :(得分:3)

没有shell=True它不起作用,因为*是一个shell扩展字符 - 从*.py到以.py结尾的文件列表是执行的函数由shell本身而不是lspython

如果要获取通过subprocess调用的命令的输出,则应使用subprocess.check_output()subprocess.Popen

ls_output = subprocess.check_output(['ls', '-l'])