使用python检索行数
我试图在ubuntu上使用python检索文件的行数 我尝试了以下方法:使用python检索行数,python,Python,我试图在ubuntu上使用python检索文件的行数 我尝试了以下方法: os.system("wc -l fileName") 但它的返回值类似于 numberOfLines fileName 0 当我尝试检索结果时: l=os.system(“wc-l文件名”) 我得到了l=0 我还试图分割结果,以便只保留第一个元素,但这会引发AttributeError:“int”对象没有属性“split” 如何获取要查找的行数?操作系统将返回wc-l命令的退出值,如果没有错误发生,该值为零 您需要程
os.system("wc -l fileName")
但它的返回值类似于
numberOfLines fileName
0
当我尝试检索结果时:
l=os.system(“wc-l文件名”)
我得到了l=0
我还试图分割结果,以便只保留第一个元素,但这会引发AttributeError:“int”对象没有属性“split”
如何获取要查找的行数?操作系统将返回
wc-l
命令的退出值,如果没有错误发生,该值为零
您需要程序的实际输出:
#TODO: handle CalledProcessError, malformatted output where appropriate
wc_output = subprocess.check_output(["wc", "-l", fileName])
num_lines = int(wc_output.split()[0])
如果是参数,
wc
会打印文件名,但如果从stdin开始计算行数,则不会打印。@w.m类似地,我尝试了子流程。检查输出([“ls”,“files*”]),但出现错误,告知文件*不存在。我怎样才能指定我想要所有名称以files开头的文件?@w.m.er,这与我的幸福无关,但将文件重定向到stdin for wc,而不是使用split?@bigTree lookup glob/globbing,可能还有shell=True标志(及其安全警告)不是更好吗@kojiro您必须用Python打开该文件,还是使用shell=True?