The subprocess module provides tools to launch and manage other programs and commands from within your Python application. For programmers already familiar with their operating system's command-line interface, it often provides a fast and convenient way to accomplish filesystem operations or other administrative tasks. It's also highly effective at sabotaging cross-platform compatibility.
For example, you might be tempted to copy files as follows:
import subprocess subprocess.call(['cp', 'file1.txt', 'file2.txt'])
This would work on Unix-like operating systems, but fail on Windows as cp is not a valid Windows shell command. The better option in this case is to use the shutil library, which contains high-level ...