Python xml dir | Computer Science homework help

To Do

You will write a script (or, scripts) that will take an optional argument, the directory to process. If not argument is supplied, use the current directory.

In each subdirectory (including the top-level directory on which the script was called) you will place a file called dir.xml . If it already exists, simply overwrite it. Do not include it as one of the files listed.

The root element will be direntry. It may contain up to 3 child nodes: index, required, and other. index will only contain a file. The remaining two might contain text elements:

<file>Regular file (or, symlink)<dir>Directory<fifo>A named pipe<sock>A socket

Index and required data will be harvested from README. Other files will be found by taking a listing of the directory, looking for files or directories that weren’t listed in README.

For example, the following file would be placed in CS265/Labs/2 :



It is preferrable to hand in a working program that addresses part of the problem than a mess that attempts the entire problem.

  • Use small functions
  • Implement 1 task at a time
    • Test it, separately. Should be easy to do with functions
    • When working, gather your small functions together to complete the larger task
  • No function should be very long
  • Keep your code neat, legible, logical
  • Overall appeal of your source code will be part of the grade. Style matters
    • Appropriate comments, including the file header(s)

You might want to consider os.walk, for flipping through directories. See . Some other useful functions, maybe: os.path.join os.path.abspath os.stat . See

Folks, please don’t spend a lot of time writing me 18 different classes. My solution contains no user-defined classes, though there is 1 fairly obvious candidate, if you have that itch.


Do not submit temporary files, nor your test data. Just the required scripts, and any helper files.

What to hand in

  • — your Python3 script
  • Any other files needed
  • README (optional) — anything you want to tell us before we grade.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>