a b中的Python块

2024-06-28 19:59:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图读入python中的ls -a命令,因此输出如下: [[.][..][DIR1][DIR2][FILE1]] 目前的代码是:

t=[]
import sh
lsa=sh.ls("-a")
for sor in lsa:
    t.append(sor)
print(t)

现在输出如下:

['. .. FILE1 FILE2\n']

(Sh是我用来执行bash命令的模块)


Tags: 代码inimport命令forshfile1ls
3条回答

Don't parse the output of ^{}。标准库函数^{}生成您想要的列表(除了它不包含...的条目-但是几乎总是您想要的行为)(而且,如果需要排序,您必须自己排序)。你知道吗

>>> import os
>>> sorted(os.listdir("."))
['.ICE-unix', '.Test-unix', '.X0-lock', '.X11-unix', '.XIM-unix', ...]

zwol是对的-您应该使用os.listdir。你知道吗

要获得您想要的格式,您应该使用

print "[" + "".join("[{}]".format(file) for file in os.listdir('.')) + "]"

或者

print "[[" + "][".join(os.listdir('.')) + "]]"

在追加结果之前,只需将结果放在列表中:

for sor in lsa:
    t.append(list(sor))

如果结果实际上是单个字符串结果,请尝试:

lsa = lsa.split()
for sor in las:
    t.append(list(sor))

相关问题 更多 >