Packing and Unpacking Files
Many moons ago (about five years), I used machines that had no tools
for bundling files into a single package for easy transport. The
situation is this: you have a large set of text files lying around
that you need to transfer to another computer. These days, tools like
tar are widely available for packaging many files
into a single file that can be copied, uploaded, mailed, or otherwise
transferred in a single step. Even Python itself has grown to support
zip archives in the 2.0 standard library (see module
zipfile).
Before I managed to install such tools on my PC, though, portable Python scripts served just as well. Example 4-6 copies all the files listed on the command line to the standard output stream, separated by marker lines.
Example 4-6. PP2E\System\App\Clients\textpack.py
#!/usr/local/bin/python
import sys # load the system module
marker = ':'*10 + 'textpak=>' # hopefully unique separator
def pack( ):
for name in sys.argv[1:]: # for all command-line arguments
input = open(name, 'r') # open the next input file
print marker + name # write a separator line
print input.read( ), # and write the file's contents
if __name__ == '__main__': pack( ) # pack files listed on cmdlineThe first line in this file is a Python comment
(#...), but it also gives the path to the Python
interpreter using the Unix executable-script trick discussed in Chapter 2. If we give textpack.py
executable permission with a Unix chmod command, we can pack files by running this ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access