我有这个命令在Linux上,我有问题转换成type
在Windows上:
row = run('cat '+'C:/Users/Kyle/Documents/final/VocabCorpus.txt'+" | wc -l").split()[0]
对于语句“wc -l”用于行数来查看有多less行存在。 如果我使用“type”命令将其更改为以下内容,那该怎么办?
我试过这个,它不工作。
row = run('type '+'C:/Users/Kyle/Documents/final/VocabCorpus.txt'+" | wc -l").split()[0]
运行命令如下:
def run(command): output = subprocess.check_output(command, shell=True) return output
请帮帮我。 谢谢。
你正在计算一个文件中的行数? 为什么你不能在纯Python中做到这一点?
像这样的东西?
with open('C:/Users/Kyle/Documents/final/VocabCorpus.txt') as f: row = len(f.readlines())
其实wc
计数您的文件中的\n
符号( 证明 )。 如果你有大文件并且想要保存一些内存,你最好通过大块读取它来消耗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