У меня есть подпроцесс python, который я бы хотел связать с тремя трубами (два стандартных и один стандартный). Я знаю, что есть только один/dev/stdin, но есть все другие устройства в/dev, о которых я не знаю, и не знаю ни одного модуля python os, sys или subprocess, который будет использовать их таким образом, чтобы позволяет мне указать путь к подпроцессу устройства.
Причина, по которой я прошу, состоит в том, что я хотел бы передавать информацию из базы данных mysql или tar-архива, а не в структуру каталога, в которой я сейчас имею, в которой есть> 28 000 каталогов. Названия каталогов используют LOT пространства! Альтернативой является tar/gunzip всей структуры каталогов и маневр через сжатый архив. С любым решением, mysql или tar, я все равно хотел бы иметь два канала в subprocess.Popen и один из них, чтобы я мог обойти жесткий диск.
Любая потребность в примере ???Несколько вызовов в/dev/stdin с использованием подпроцесса python (* nix)
ответ
В системах Unix удобной альтернативой является использование named pipe. Он выглядит как файл, но не занимает места на диске; вы можете написать ему с помощью одного процесса и прочитать его с помощью другого, как трубы. Вы можете заставить ваш подпроцесс выполнять обычный ввод-вывод файлов; Unix (Mac OS/Linux) сделает тяжелую работу для вас.
% mkfifo foo
% cat giantFile > foo &
[1] 4667
% wc -l foo
100
круто, я никогда не использовал mkfifo или wc раньше .. Вам придется заглянуть в них. Спасибо :) –
У меня был момент Эврики в постели прошлой ночью, посмотрев на страницу названных труб, которую вы отправили ... т.е. Вот как сделать все мои кодовые окна совместимыми! Я полагался на предоставление/dev/stdin &/dev/stdout в качестве имен пути для вызовов подпроцесса все время. Это зависание! Потрясающие! Еще раз спасибо! Если бы только программы, которые я вызывал, имели исполняемые файлы/установщики Windows тоже .... –
darn. python os.mkfifo() работает только в ОС Unix. Однако, найдите эту ссылку: - http://bytes.com/topic/python/answers/43082-example-code-named-pipes-python-2-4-ctypes-windows –
- 1. Возврат из вызовов подпроцесса
- 2. Несколько вызовов сокета Python с использованием Eventlet
- 3. Автоматизация Python с использованием подпроцесса
- 4. перебирать несколько вложенных результатов с использованием подпроцесса
- 5. Проблемы с Wget с использованием подпроцесса python
- 6. Проблемы с использованием подпроцесса
- 7. Выполнение SQLCMD с использованием подпроцесса python
- 8. Создание запланированных задач с использованием подпроцесса python
- 9. Неожиданный выход с использованием подпроцесса в Python
- 10. Выполнение команд npm с использованием подпроцесса Python
- 11. python concatenate файлы с использованием подпроцесса
- 12. Подпроцесс python с использованием импортного подпроцесса
- 13. Python 3.2 с использованием модуля подпроцесса
- 14. Тайм-аут с использованием подпроцесса python
- 15. Xcode build с использованием подпроцесса python
- 16. Запуск scrapy с использованием подпроцесса
- 17. Блокировка и неблокирование вызовов подпроцесса
- 18. Чтение Несколько строк в stdin с использованием подпроцесса
- 19. Переменные окружения, не сохраненные в результате последующих вызовов подпроцесса (Python)
- 20. Причина несопоставимых результатов с mdfind с использованием подпроцесса Python
- 21. Открыть python-процесс с использованием модуля подпроцесса python
- 22. Python не может быть выполнена из python с использованием подпроцесса
- 23. remote Несколько вызовов с использованием Powershell
- 24. несколько вызовов ajax с использованием только javascript
- 25. Несколько вызовов Ajax с использованием jQuery
- 26. Опрос подпроцесса с использованием pid
- 27. Передача ввода в исполняемый файл с использованием модуля подпроцесса Python
- 28. Выполнение скрипта python подпроцесса с аргументами
- 29. остановка скрипта bash с использованием вызова подпроцесса
- 30. Блок подпроцесса Python
Не бойтесь знаков препинания. :) –