In this chapter, we will cover following recipes:
- Traversing folders—recursively traversing a path in the filesystem and inspecting its contents
 - Working with paths—building paths in a system-independent way
 - Expanding filenames—finding all files that match a specific pattern
 - Getting file information—detecting the properties of a file or directory
 - Named temporary files—working with temporary files that you need to access from other processes too
 - Memory and disk buffer—spooling a temporary buffer to disk if it's bigger than a threshold
 - Managing filename encoding—working with the encoding of filenames
 - Copying a directory—copying the content of a whole directory
 - Safely replacing a file's content—how to replace the content of a file safely in case of failures