如何用Python找到文本文件的行数?

3 投票
3 回答
31518 浏览
提问于 2025-04-18 07:47
  1. 我需要从一个给定的.tst文件中获取一个文本文件……然后找出里面有多少行。
  2. 我得到的结果是0。
  3. 我需要运行程序两次才能得到那些文本文件。
  4. 我的代码有问题吗?
name_of_file = raw_input("tst file address please:")

import re
f = open(name_of_file+".tst",'r')
data = f.read()
y = re.findall(r'Test Case:(.*?)TEST.UNIT:',data,re.DOTALL)
fb = open('tcases.txt' ,'w' )
for line in y :
 fb.write(line)
z = re.findall(r'TEST.SUBPROGRAM:(.*?)TEST.NEW',data,re.DOTALL)
fc = open('tsubprgs.txt' ,'w' )
for line in z :
 fc.write(line)
x = re.findall(r'TEST.UNIT:(.*?)TEST.SUBPROGRAM:',data,re.DOTALL)
fa = open('tunits.txt' ,'w' )
for line in x :
 fa.write(line)

with open('tunits.txt') as foo:
 lines = len(foo.readlines())
 print lines

3 个回答

0

在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,如果你想让程序在某个数字大于10的时候做一些事情,你就需要用到“条件语句”。条件语句就像是一个判断的开关,只有在满足特定条件时,程序才会执行你想要的操作。

举个简单的例子,如果你有一个变量叫做“分数”,你可以写一个条件语句来检查这个分数是否及格。如果分数大于等于60,就可以打印“及格了”;如果分数小于60,就打印“没及格”。这样,程序就能根据分数的不同情况做出不同的反应。

总之,条件语句帮助我们控制程序的执行流程,让程序能够根据不同的情况做出相应的决策。

myfile = "names.txt"

num_names = 0

with open(myfile, 'r') as f:
    for line in f:
    names = line.split()

    num_names += len(names)

print (num_names)
1

在你的例子中,re.findall() 会返回一个列表,你可以直接通过这个列表来获取匹配的数量,而不需要重新打开和计算结果文件,比如:

x = re.findall(r'TEST.UNIT:(.*?)TEST.SUBPROGRAM:',data,re.DOTALL)
num_tunits = len(x)

可以查看 其他答案,了解一些计算文件行数的想法。

9

试试这个

with open(<pathtofile>) as f:
      print len(f.readlines())

撰写回答