Let's take a look at some built-in pytest fixtures.
An overview of built-in fixtures
tmpdir
The tmpdir fixture provides an empty directory that is removed automatically at the end of each test:
def test_empty(tmpdir):
assert os.path.isdir(tmpdir)
assert os.listdir(tmpdir) == []
Being a function-scoped fixture, each test gets its own directory so they don't have to worry about clean up or generating unique directories.
The fixture provides a py.local object (http://py.readthedocs.io/en/latest/path.html), from the py library (http://py.readthedocs.io), which provides convenient methods to deal with file paths, such as joining, reading, writing, getting the extension, and so on; it is similar in philosophy to...