【问题标题】:Passing arguments from sh script(remade from etc/init.d/skeleton) to python将参数从 sh 脚本(从 etc/init.d/skeleton 重新制作)传递给 python
【发布时间】:2013-12-19 09:37:23
【问题描述】:

我有一个脚本,我需要他将参数传递给 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(从控制台传递的参数)?

【问题讨论】:

    标签: python unix daemon init.d daemons


    【解决方案1】:

    首先,将参数添加到您的守护程序调用中:

    DAEMON_ARGS="start 10"
    

    其次,在你的 python 程序中使用它们:

    #! env/bin python
    
    import sys
    n = sys.argv[2]
    
    import time
    sleep(n)
    

    查看here 了解有关 Python 中使用的命令行参数的更多详细信息。

    【讨论】:

    • 谢谢。它应该是 n=sys.argv[2] 所以 n=10
    【解决方案2】:

    使用sys.argv

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

    相关讨论请见here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-04
      • 2021-01-11
      相关资源
      最近更新 更多