1. 统计文件中行数
2.将整个文件内容装进一个字符串string
3.使用try/except读取用户指令打开文件,防止输入错误
课后练习:
7.2 Write a program that prompts for a file name, then opens that file and reads through the file, looking for lines of the form:
X-DSPAM-Confidence: 0.8475
Count these lines and extract the floating point values from each of the lines and compute the average of those values and produce an output as shown below. Do not use the sum() function or a variable named sum in your solution.
You can download the sample data at http://www.py4e.com/code3/mbox-short.txt when you are testing below enter mbox-short.txt as the file name.
个人答案:(已通过测试)
# Use the file name mbox-short.txt as the file name
fname = input("Enter file name: ")
fh = open(fname)
tick=0
many=0
avr=0
for line in fh:
if line.startswith("X-DSPAM-Confidence:"):
appo = line.find(':')
wline=line[appo+1:]
nline = wline.strip()
tick=tick+float(nline)
many=many+1
avr=tick/many
print("Average spam confidence:",avr)