赞
踩
【文本文件读取】 题目内容:用Windows“记事本”创建一个文本文件(文件名自定义),其中每行包含一段英文。 试读出文件的全部内容,并判断: (1)该文本文件共有多少行? (2)文件中以大写字母T开头的有多少行? (3)一行中包含字符最多的和包含字符最少的分别在第几行? 【输入样例】: 例:记事本内容为: A lot of people today are animal rights advocates. Some of them are very Passionate and even quite radical about the issue. But others argue that “human rights” will always Take priority. In fact, in many places even the most basic human rights are not adequately Protected. So why animal rights? What do you think? And why? 【输出样例】: 这文本文件共有: 8 行 文件中以大写字母T开头的有 1 行 一行中字符最多的在第 1 行 一行中字符最少的在第 8 行
我们定义三个函数来实现
1.数行数
def line():
f = open("文件所在路径",'r')
lines = f.readlines()
count = len(lines)
print("这文本文件共有:",count,"行")
2.查首字母
def search():
f = open("文件所在路径",'r')
lines = f.readlines()
n = 0
for line in lines:
if line[0] == 'T':
n = n + 1
print("文件中以大写字母P开头的有",n,"行")
3.读文件,查最多最少
def r():
f = open("文件所在路径",'r')
lines = f.readlines()
l = []
for i in lines:
num = len(i.strip())
l.append(num)
print("一行中字符最多的在第",l.index(max(l)) + 1,"行")
print("一行中字符最少的在第",l.index(min(l)) + 1,"行")
最后我们调用这三个函数
line()
search()
r()
import random FileName = 'C:/Users/Administrator/Desktop/Two.txt' file = open(FileName,'r') n= file.readlines() #print(n) print("这文本文件共有:",len(n),"行") num = 0 for a in n: if a[0] == 'T': num = num + 1 print("文件中以大写字母T开头的有",num,"行") l = [] for i in n: num = len(i.strip("\n")) l.append(num) max_l=l.index(max(l))+1 min_l=l.index(min(l))+1 #print(l) print("一行中字符最多的在第",max_l,"行") print("一行中字符最少的在第",min_l,"行") #with open("文件路径","读写方式")as 文件名
1.readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表
2.strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
3.str.index(str, beg=0, end=len(string))
index() 方法检测字符串中是否包含子字符串 str
如果未指定, beg(开始) 和 end(结束)默认全部范围
如果包含子字符串返回开始的索引值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。