使用python和wc -l计算文件中的行数

时间:2016-02-13 05:26:10

标签: python linux cmd

我在linux上有这个命令,我在Windows上转换为// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.google.gms:google-services:1.5.0-beta2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } 时遇到问题:

<?xml version="1.0" encoding="UTF-8"?>

声明&#34; wc - l&#34;用于行计数以查看存在多少行。如果我要使用&#34更改它,请输入&#34;命令,应该是什么?

我尝试了这个并且它不起作用。

type

运行命令如下:

row = run('cat '+'C:/Users/Kyle/Documents/final/VocabCorpus.txt'+" | wc -l").split()[0]

请帮帮我。谢谢。

2 个答案:

答案 0 :(得分:4)

您是否正在尝试计算文件中的行数?为什么你不能在纯python中做到这一点?

这样的东西?

with open('C:/Users/Kyle/Documents/final/VocabCorpus.txt') as f:
    row = len(f.readlines())

答案 1 :(得分:-1)

实际上wc会对您文件中的\n个符号进行计数(proof)。如果你有大文件并且想要保存一些内存,你最好通过块读取它来消耗O(1)内存:

CHUNK_SIZE = 4096

def wc_l(filepath):
    nlines = 0
    with open(filepath, 'rb') as f:
        while True:
            chunk = f.read(CHUNK_SIZE)
            if not chunk:
                break
            nlines += sum(1 for char in chunks if char == '\n')
    return nlines