我正在尝试使用ls -lpython 来检查文件的最后修改日期。
os.listdir不显示长列表格式。
subprocess.call显示格式,但实际上打印它,并返回 0。我希望能够将其放入变量中。有任何想法吗 ?
另外,我尝试过
subprocess.call("ls","*.py")
Run Code Online (Sandbox Code Playgroud)
哪个答案
ls: cannot access *.py: No such file or directory
Run Code Online (Sandbox Code Playgroud)
它可以与 一起使用shell=True,但如果有人可以解释为什么没有它它就不起作用,我将不胜感激。如果你知道如何让它发挥作用,那就更好了。
如果没有 ,它就无法工作shell=True,因为*是一个 shell 扩展字符 - 从 到*.py以 结尾的文件列表.py是由 shell 本身执行的函数,而不是ls或python。
如果您想获取通过 调用的命令的输出subprocess,您应该使用subprocess.check_output()或subprocess.Popen。
ls_output = subprocess.check_output(['ls', '-l'])
Run Code Online (Sandbox Code Playgroud)