首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python长列表目录(ls -l),ls *

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

Stack Overflow用户
提问于 2012-03-29 06:19:11
回答 2查看 8K关注 0票数 3

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

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

还有,我试过了

代码语言:javascript
运行
复制
subprocess.call("ls","*.py")

答案是什么

代码语言:javascript
运行
复制
ls: cannot access *.py: No such file or directory

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-29 06:21:21

没有shell=True就不能工作,因为*是一个shell扩展字符-从*.py转到以.py结尾的文件列表是由shell本身执行的功能,而不是lspython

如果您希望获得通过subprocess调用的命令的输出,则应该使用subprocess.check_output()subprocess.Popen

代码语言:javascript
运行
复制
ls_output = subprocess.check_output(['ls', '-l'])
票数 5
EN

Stack Overflow用户

发布于 2021-09-03 06:45:46

有了很好的格式:

代码语言:javascript
运行
复制
import subprocess
print(subprocess.check_output(['ls', '-lh']).decode('utf-8'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9916476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档