Это зависит от того, какие функции вы хотите. Если вы просто хотите распечатать файл, вы можете сделать
with open('myfile') as f:
for line in f:
print line,
или объединить некоторые файлы, вы можете сделать
filenames = ['file1', 'file2', 'file3']
for filename in filenames:
with open(filename) as f:
for line in f:
print line,
Нет общего ответа. В зависимости от функциональности, которую вы хотите скопировать, ваш код будет отличаться. Чтобы точно воспроизвести что-то странное и особенное, используйте модуль subprocess
и вызовите cat.
Если вы хотите реализовать тот же интерфейс, что и у cat, это кажется странным требованием. Вы можете позвонить кошке, и вы можете написать код более естественно. Единственная причина, по которой я могу подумать, чтобы полностью переопределить кошку, - это домашнее задание, и я надеюсь, что вы не попросите готовый продукт, если это ваша причина.