В Python можно получить аргументы командной строки без импорта sys (или любого другого модуля)?В Python командной строки args без импорта?
ответ
Да, если вы используете Linux.
Если вы знаете идентификатор процесса, вы можете прочитать его /proc/{pid}/cmdline
файл, который содержит нуль разделенных список аргументов командной строки:
PROCESS_ID = 14766
cmdline = open("/proc/" + str(pid) + "/cmdline").read()
print cmdline.split("\0")
Но это трудно знать идентификатор процесса, прежде чем начать обработать. Но есть решение! Посмотрите на ВСЕ процессы!
PROGRAM_NAME = "python2\0stack.py"
MAX_PID = int(open("/proc/sys/kernel/pid_max").read())
for pid in xrange(MAX_PID):
try:
cmd = open("/proc/" + str(pid) + "/cmdline").read().strip("\0")
if PROGRAM_NAME in cmd:
print cmd.split("\0")
break
except IOError:
continue
Так что, если мы запустим python2 stack.py arg1 arg2 arg3
в оболочке, список аргументов командной строки будет напечатан. Это предполагает, что у вас есть только один процесс, выполняющий скрипт в данный момент времени.
PS., MAX_PID
- максимальный PID в вашей системе. Вы можете найти его в /proc/sys/kernel/pid_max
.
PPS. Никогда, никогда, написать код. Это сообщение было 49% шуткой.
Я надеялся на некоторые умные решения вроде этого! Благодаря! :) –
Нет, вы должны импортировать sys
получить sys.argv
, что где аргументы расположены
аргументы No. командной строки доступны только в sys.argv, которые не могут быть доступны без импорта SYS. Могу ли я спросить, почему вы не хотите импортировать sys?
- 1. Разбор Clojure командной строки Args
- 2. Обработка командной строки-args-left?
- 3. Тип данных командной строки args
- 4. * @param args аргументы командной строки
- 5. Отладка командной строки args в C#
- 6. работает командной строки args в C#
- 7. ошибка строки args при компиляции командной строки
- 8. Использование командной строки args из разных файлов в python
- 9. командной строки args в subprocess.call при выполнении сценария python
- 10. Комбинация tkinter gui и командной строки args
- 11. Maven Args командной строки в settings.xml
- 12. Ошибка чтения командной строки-args в скрипте
- 13. Лучший способ конкатенации командной строки args
- 14. Модуль импорта командной строки Powershell
- 15. Установка модулей в Python без командной строки
- 16. C++ с использованием командной строки args
- 17. Создание командной строки Args с gcc?
- 18. Параметры командной строки и функции импорта
- 19. Как запустить сервер Python без командной строки
- 20. Установка модулей Python без командной строки.
- 21. Использование Py2Exe без командной строки
- 22. Прохождение командной строки args в ruby и runtime args through получает
- 23. Nicer командной строки parse python
- 24. проект импорта eclipse с использованием командной строки
- 25. Websocket без командной строки?
- 26. Необязательный параметр командной строки в Python
- 27. Прохождение командной строки $ args в powershell, от функции к функции
- 28. Ошибка при запуске приложения Yesod в openshift - командной строки args?
- 29. Создать список из командной строки args в Scala
- 30. Весенняя загрузка get командной строки args в коде конфигурации
http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem –
Я уверен, что есть какой-то грязный хак, который делает это возможным. Особенно, если требования неточны ... –
Прежде всего, может быть ссылка на sys в некотором встроенном –