A .dir file simply contains a list of files.
Regression tests
Read a DIR file
>>>
>>> stream = open('tests/rockstar/dir/test.dir', 'rb')
>>> data = DirFormat.Data()
>>> data.inspect(stream)
>>>
>>>
>>>
>>> data.read(stream)
>>> len(data.files)
2
>>> data.files[0].offset
0
>>> data.files[0].size
1
>>> data.files[0].name
'hello.txt'
Parse all DIR files in a directory tree
>>> for stream, data in DirFormat.walkData('tests/rockstar/dir'):
... print(stream.name)
tests/rockstar/dir/test.dir
Create an DIR file from scratch and write to file
>>> data = DirFormat.Data()
>>> from tempfile import TemporaryFile
>>> stream = TemporaryFile()
>>> data.write(stream)