在python脚本中使用bash命令时出现的问题

在python脚本中使用bash命令时出现的问题,python,bash,Python,Bash,我正在python上尝试这一点: import os process="find . -type f -name *.out*.xyz'" print "the number of xyz files is %s" %os.system(process) 当我从命令行尝试它时,它可以工作,但是从python它返回数字0,当它是4时。我认为操作系统的使用一定有问题。有什么帮助吗?是的,您得到的是返回码“0”,意思是“成功完成,没有错误”,而不是标准输出文本“4” 您应该查看此处以获取输出: 在

我正在python上尝试这一点:

import os

process="find . -type f -name *.out*.xyz'"
print "the number of xyz files is %s" %os.system(process)

当我从命令行尝试它时,它可以工作,但是从python它返回数字0,当它是4时。我认为操作系统的使用一定有问题。有什么帮助吗?

是的,您得到的是返回码“0”,意思是“成功完成,没有错误”,而不是标准输出文本“4”

您应该查看此处以获取输出:


在这里学习POSIX退出代码:

实际上,如果您确实需要Python中的文件数量,请尝试以下方法:

import pathlib
p = pathlib.Path('.')
files = [x for x in p.iterdir() if x.is_file() and x.match('*.csv')]
print("Number of files: {0}".format(len(files)))

更简单,Pythonic,您不需要派生子进程。

还可以查看
子进程
模块。如今,它比操作系统更受欢迎。我们所说的“这些天”,是指“自从它在近13年前发布以来”。