/dev/null
- это специальный файл устройства (все в UNIX - это файл!), Который поглощает все записанное в него, как черная дыра. dup
дублирует дескриптор файла. Если вы привыкли к Windows, дескриптор файла в UNIX - это специальное целое число, которое представляет открытый файл, это как дескриптор файла Windows.
Программа открывает /dev/null
для записи (только), берет копию своего файлового дескриптора, закрывает открытый файл (потому что наличие файлового дескриптора достаточно для UNIX для записи в файл, вам не нужно оставьте ресурсы открытыми), затем присвойте открытый файл sys.stdout
.
Помните, sys
- это модуль Python, который представляет все виды системных ресурсов, таких как файловая система. Так, в UNIX sys.stdout
будет представлять /dev/stdout
, то есть системный STDOUT
поток.
Итак, в целом этот код вводит Python в заблуждение, что /dev/null/
равен STDOUT
, поэтому теперь каждый раз, когда ваша программа записывает в STDOUT
, скажем, оператор print
(функция в Python3), тогда действительно пишите /dev/null
, и вы никогда не увидите полученный текст на своей консоли.