2013-12-03 4 views
0

У меня есть скрипт, и мне нужно, чтобы он передавал аргументы в программу python. Я принимаю аргументы:Передача аргументов из сценария sh (переделать из etc/init.d/skeleton) в python

DAEMON_ARGS="" 
start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE --startas $DAEMON \ 
    $DAEMON_ARGS \             
    || return 2 

Где $ DAEMON - путь к моему .py файлу. Мне нужно передать некоторые числовые аргументы, подобные этому

sudo /etc/init.d/sleepdaemon start 10 

И это число, которое я должен передать sleep.py. Код sleep.py:

#! env/bin python 

import time 
sleep(n) 

Как сделать n = 10 (аргумент, переданный с консоли)?

ответ

1

Во-первых, добавить аргументы вашего демона вызова:

DAEMON_ARGS="start 10" 

Во-вторых, потреблять их в питона программе:

#! env/bin python 

import sys 
n = sys.argv[2] 

import time 
sleep(n) 

Посмотрите here для получения более подробной информации о аргументах командной строки в Python.

+1

Спасибо. Это должно быть n = sys.argv [2], так что n = 10 – user3057314

+0

Вы правы, 10 раз. Я исправил его в ответе –

0

Использование sys.argv

import time 
import sys 

time.sleep(int(sys.argv[11]) 

См here взаимосвязанного обсуждения

 Смежные вопросы

  • Нет связанных вопросов^_^