如何从脚本中的特定步骤开始?

时间:2014-04-30 12:53:56

标签: python

我有一个python脚本,它执行10个相互跟随的函数,我想让用户可以在特定的函数下开始执行脚本。

例如:

  

python main.py --start = function4

并且脚本只执行function4和过程中的下一个函数。

我使用getopt。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

你可以这样做。

if start >= 1:
    function1()
if start >= 2:
    function2()
if start >= 3:
    function3()

或有一个功能列表:

f = [None, function1, function2, function3, ...]
for f in f_list[start:]:
    f()

答案 1 :(得分:0)

您可以使用

来完成
if __name__=='__main__':
     call_desiredfunction()

示例,

def c():
    print 'c'

def b():
    print 'b'
    c()

def a():
    print 'a'
    b()


if __name__=='__main__':
    print 'Stared Execution'
    a()

输出:

Stared Execution
a
b
c

答案 2 :(得分:0)

今天我可以给你建议:

使用转到

http://entrian.com/goto/

安装包:

$ pip install http://entrian.com/goto/goto-1.0.tar.gz#goto

写一些代码:

from goto import goto, label

label .getinput
i = raw_input("Enter either 'a', 'b' or 'c', or any other letter to quit: ")
if i in ('a', 'b', 'c'):
    goto *i
else:
    goto .quit

label .a
print "You typed 'a'"

label .b
print "You typed 'b'"

label .c
print "You typed 'c'"

label .quit
print "Finished\n"

并运行它:

$ python gt.py 
Enter either 'a', 'b' or 'c', or any other letter to quit: b
You typed 'b'
You typed 'c'
Finished

警告:在实际使用之前,请查看日历。顺便说一句。代码确实有用。