[Solved] Gashlycrumb

30 $

File Name: Gashlycrumb.zip
File Size: 103.62 KB

SKU: [Solved] Gashlycrumb Category: Tag:

Or Upload Your Assignment Here:


https://www.youtube.com/playlist?list=PLhOuww6rJJNMxWy34-9jlD2ulZxaA7mxV

Write a program that prints the line from a file starting with a given letter:

$ ./gashlycrumb.py aA is for Amy who fell down the stairs.

By default, the -f or --file should use the included gashlycrumb.txt file, but can be overridden:

$ ./gashlycrumb.py a -f alternate.txtA is for Alfred, poisoned to death.

The structure of the file is such:

$ head alternate.txtA is for Alfred, poisoned to death.B is for Bertrand, consumed by meth.C is for Cornell, who ate some glass.D is for Donald, who died from gas.E is for Edward, hanged by the neck.F is for Freddy, crushed in a wreck.G is for Geoffrey, who slit his wrist.H is for Henry, who's neck got a twist.I is for Ingrid, who tripped down a stair.J is for Jered, who fell off a chair.

The program should accept one or more letters as positional arguments, printing each line or a message that the given argument is not present in the file:

$ ./gashlycrumb.py x 4 z -f alternate.txtX is for Xavier, stuck through with a prong.I do not know "4".Z is for Zora, smothered by a fleece.

If given no arguments, it should print a brief usage:

$ ./gashlycrumb.pyusage: gashlycrumb.py [-h] [-f FILE] letter [letter ...]gashlycrumb.py: error: the following arguments are required: letter

Or a longer usage for -h or --help:

$ ./gashlycrumb.py -husage: gashlycrumb.py [-h] [-f FILE] letter [letter ...]Gashlycrumbpositional arguments:  letter                Letter(s)optional arguments:  -h, --help            show this help message and exit  -f FILE, --file FILE  Input file (default: gashlycrumb.txt)

The program should reject a bad --file argument:

$ ./gashlycrumb.py -f alskdfusage: gashlycrumb.py [-h] [-f str] str [str ...]gashlycrumb.py: error: argument -f/--file: can't open 'alskdf': [Errno 2] No such file or directory: 'alskdf'

Run the test suite to ensure your program is correct:

$ make testpytest -xv test.py============================= test session starts ==============================...collected 8 itemstest.py::test_exists PASSED                                              [ 12%]test.py::test_usage PASSED                                               [ 25%]test.py::test_bad_file PASSED                                            [ 37%]test.py::test_a PASSED                                                   [ 50%]test.py::test_b_c PASSED                                                 [ 62%]test.py::test_y PASSED                                                   [ 75%]test.py::test_o_alternate PASSED                                         [ 87%]test.py::test_bad_letter PASSED                                          [100%]============================== 8 passed in 0.50s ===============================

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] Gashlycrumb
30 $