#python #redirect #pipe #system-calls
#python #перенаправление #канал #системные вызовы
Вопрос:
Я хочу выполнить os.system (‘ls’) на python. возвращаемым значением этого оператора является целое число с кодом ошибки .. но я хочу получить содержимое текущего каталога в виде строки. Как этого добиться?
Ответ №1:
В общем, если вы хотите вызвать функцию и получить аргументы, вам следует использовать subprocess.Popen()
. Но большая часть базового содержимого каталога находится в os
модуле, так что вам не нужно этого делать.
Комментарии:
1.
subprocess.Popen()
вызывает программы и не вызывает функции. В любом случае, это позволило бы вам захватить его вывод, но Pythonos.listdir()
был бы лучшим способом выполнить конкретно то, что хочет сделать OP (как указано).
Ответ №2:
Python как встроенная функциональность, такая как os.listdir() или os.walk() для перечисления содержимого в файловой системе. Самостоятельный запуск ‘ls’ — это очень плохой стиль. В общем взгляните на документацию модуля подпроцесса, предоставляющую вам всю гибкость для взаимодействия с внешними командами.