在python脚本中使用bash命令时出现的问题
我正在python上尝试这一点:在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” 您应该查看此处以获取输出: 在
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年前发布以来”。