The assignment is to write a Python program that prompts the user for a file name, reads through the file, extracts floating-point numbers from lines starting with 'X-DSPAM-Confidence:', counts these lines, computes the total spam confidence values, and prints out the average spam confidence when reaching the end of the file.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
TURN IN #1 Write a program to prompt for a file name, and then read through the file and look for lines of the form: X-DSPAM-Confidence: 0.8475 When you encounter a line that starts with “X-DSPAM-Confidence:” pull apart the line to extract the floating-point number on the line. Count these lines and then compute the total of the spam confidence values from these lines. When you reach the end of the file, print out the average spam confidence. Enter thefile name: mbox.txt Average spam confidence: 0.894128046745 Enter thefile name: mbox-short.txt Average spam confidence: 0.750718518519 Test your file on the mbox.txt and mbox-short.txt files HINT: 1.Download the two textfiles: mbox.txt and mbox-short.txt from http://www.pythonlearn.com/code3/to your local machine. For ease, ensure thesefiles reside in the same folder as the .pyfile for this assignment. 2.Begin writing your code by prompting the user for thefile name. Use a try-except block to exit with a user-friendly error message if there is an error opening thefile name specified. 3.Once thefile is opened, use an iterative loop (e.g. “for” or “while”) to traverse each line of the file. 4.(A quick manual exploration of mbox textfiles reveals that the number representing spam confidence is found at the end of the line). In each line,find the pattern “X-DSPAM- Confidence:”. If this is found, extract the portion of the line after this pattern until the end of the line. “find”, string extraction and “strip” functions are useful here. 5.Convert the numeric part extracted from the line into afloat. 6.When the program hasfinished traversing each line in the specifiedfile, total the number of lines that had the pattern and compute average spam confidence. 7.Note: In your calculation for average spam confidence, do NOT count the lines that did that not contain the pattern. Be sure to comment your program adequately! 8.Remember your Python code will be graded according to our class Rubric. 9.Submit your Python codefile. Name it “XXXX-dspam.py” where XXXX is your name. 10.Submit also a Word document showing screen shots of the various testing conditions. Good programmers test all cases, so you should make sure you show tests for erroneous inputs, the mbox-short.txt, and the mbox.txtfiles.