我有一个python脚本,它执行10个相互跟随的函数,我想让用户可以在特定的函数下开始执行脚本。
例如:
python main.py --start = function4
并且脚本只执行function4和过程中的下一个函数。
我使用getopt。
感谢您的帮助。
答案 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)
今天我可以给你建议:
安装包:
$ 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
警告:在实际使用之前,请查看日历。顺便说一句。代码确实有用。