我将使用 ls 作为示例:
我试过了:
str = call("ls")
str存储0。
我试过了:
str = call("ls>>txt.txt")
但没有运气(发生错误并且未创建& txt.txt)。
如何执行此直接任务。
[我已导入致电]
答案 0 :(得分:0)
编辑:call
只是在shell中运行一个命令,然后返回该命令的返回值。由于ls
成功,call('ls')
返回0。
如果您只是尝试运行ls
,那么我建议您使用glob
:
from glob import glob
file_list = glob('*')
如果你想做一些更复杂的事情,我的建议就是这样使用subprocess.Popen()
:
from subprocess import Popen, PIPE
ls_proc = Popen('ls', stdout=PIPE, stderr=PIPE)
out, err = ls_proc.communicate()
注意,在stdout
和stderr
关键字中,PIPE
可以替换为任何类文件对象,因此您可以根据需要将输出发送到文件。另外,你应该在使用它之前阅读Popen.communicate(),因为如果你调用的命令挂起,你的python例程也会挂起。