1.4. Files and Folders#
How to work with files and folders is a fundamental skill which many of you have probably been doing for years without even thinking about it. However, when dealing with coding, this may be the first time you have ever had to consciously interact with the file system on your computer. If you are used to opening single file using software applications like OneDrive on your laptop, you don’t have to interact with the file system directly. However, when working with code, you will often need to navigate and manipulate files and folders programmatically. If you work primarily on a tablet or mobile phone, you probably never have to interact with the file system on your device.
The file system on a computer is simply a way to organize digital documents. Because it is easily customizable, it can be configured in many ways, enabling the computer user to optimize it for their own purposes. It is useful to define a few key concepts:
files: the digital documents on our computers.
folders: the way we organize the files on our computer. It is possible to have folders inside other folders.
directory: a hierarchical structure for organizing data on a computer. For our purposes, it is synonymous with folder.
sub-directory: for our purposes, this is a folder within another folder.
top level directory or root directory: the highest level in the directory structure. Note that this is a relative term; if we are considering only the scope of MUDE documents, perhaps a
MUDEdirectory is the top level, even though it is also a sub-directory itself.lower level directories: this term refers to travelling “downward” through the hierarchical tree of the directory system
working directory: the place where we will edit files when working on a particular project.
The concept of a working directory is especially important, as it is the primary place where we “do work.” This includes everything from writing reports, writing and running code and programs, processing data, creating visualizations, etc. Ideally this directory is set up to include all relevant files for a particular project, such that when you are “doing work” you can ignore the rest of the file system on your computer. This has important practical implications, for example:
you can open your editor in the working directory and have access to all the files you need
it is easy to back up (save) your work and share it with others