我在python
上尝试此操作:
import os
process="find . -type f -name *.out*.xyz'"
print "the number of xyz files is %s" %os.system(process)
当我从命令行尝试它时它可以工作,但是从python 它返回数字0,当它是4 时。我认为使用os.system肯定存在问题。有什么帮助吗?
答案 0 :(得分:2)
是的,你得到的是返回代码“0”,意思是“成功完成,没有错误”,而不是标准输出文本输出“4”。
您应该在这里查看输出:Assign output of os.system to a variable and prevent it from being displayed on the screen
在此处了解POSIX退出代码:https://en.wikipedia.org/wiki/Exit_status
答案 1 :(得分:0)
实际上,如果您真的需要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,你不需要分叉子进程。