Python XML Assignments | Online Homework Help
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 os_walk.py . Some other useful functions, maybe: os.path.join os.path.abspath os.stat . See stat.py
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
- dropXml.py — your Python3 script
- Any other files needed
- README (optional) — anything you want to tell us before we grade.