Из официальных документов :
устарело с версии 2.6: модуль commands
удален в Python 3. Использованиемодуль subprocess
.
Итак, если вы не используете Python 2.5 или более раннюю версию, в чем я сомневаюсь, используйте subprocess
*Модуль 1019 *:
import subprocess
dir_log = "/path/to/file"
output = subprocess.check_output(["cat", dir_log])
Модуль subprocess
будет обрабатывать экранирование и цепочку аргументов для вас.
Остается только один вопрос - что вы имеете в виду под "но python не получает его как переменную" ?Если dir_log
доступно в локальном контексте, его значение будет передано cat
.
Нет смысла вызывать cat
как подпроцесс, когда вы можете просто загрузить содержимое в Python напрямую, tho:
with open(dir_log, "r") as f:
file_contents = f.read()