请问sys.argv[-1]#命令行最后一个参数是什么意思

玛拉的哲学 2019-03-15 06:12:10
import bisect
import sys

HAYSTACK = [1,4,5,6,8,12,15,20,21,23,23,26,29,30]
NOODELS = [0,1,2,3,5,8,10,22,2,3,29,30,31]

ROW_FMT = '{0:2d} @ {1:2d} {2}{0:<2d}'

def demo(bisect_fin):
for needle in reversed(NOODELS):
position = bisect_fin(HAYSTACK,needle)
offset = position * ' |'
print(ROW_FMT.format(needle,position,offset))

if __name__ == '__main__':

if sys.argv[-1] == 'left':
bisect_fn = bisect.bisect_left

else:
bisect_fn = bisect.bisect

print('DEMO:',bisect_fn.__name__)
print('haystack ->',' '.join('%2d' % n for n in HAYSTACK))
demo(bisect_fn)




这是流畅的python里面的代码,我标红的那一行,书上的注释是根据命令上最后一个参数来选用bisect函数,但是bisect函数不是只能从程序外部获取参数吗,他是从哪里获取的left参数吗,救救孩子吧。
...全文
244 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈年椰子 2019-03-18
  • 打赏
  • 举报
回复 1
执行 py 脚本,可以在命令行增加参数的。 整个脚本的参数。

import sys
if __name__ == '__main__':
    if sys.argv[-1] == 'left':
       print("run left")
    else:
        print("run normal")

37,742

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧