如何用Python找到文本文件的行数?
- 我需要从一个给定的.tst文件中获取一个文本文件……然后找出里面有多少行。
- 我得到的结果是0。
- 我需要运行程序两次才能得到那些文本文件。
- 我的代码有问题吗?
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())