Python中sys.argv[]用法

理解


  1. sys.argv[] :是一个程序外部的参数组成的列表;
  2. 程序外部的参数,即用户输入的参数,并非代码本身的内容;
  3. 列表的第一个元素,是程序本身,即第一个参数是程序文件的路径名称,之后才是外部传入的参数,可以有多个。

示例(test_argv.py)


  • 查看test_argv.py内容,不传入参数执行代码,默认第一个参数是程序本身
# 查看程序代码
XZ:learn xz$ cat test_argv.py 
#!/usr/bin/env python3
# test sys_argv

import sys
a=sys.argv
print(a[0])

# 不传入参数,执行代码
XZ:learn xz$ python test_argv.py
test_argv.py
  • 查看test_argv.py内容,传入多个参数执行代码,并打印参数列表
# 查看程序代码
XZ:learn xz$ cat test_argv.py 
#!/usr/bin/env python3
# test sys_argv

import sys
a=sys.argv
print(a)

# 传入的多个参数为一句话:what are you ?
XZ:learn xz$ python test_argv.py what are you ?
['test_argv.py', 'what', 'are', 'you', '?']
  • 查看test_argv.py内容,传入多个参数执行代码,打印第2个参数之后的参数
# 查看程序代码
XZ:learn xz$ cat test_argv.py 
#!/usr/bin/env python3
# test sys_argv

import sys
a=sys.argv
print(a[2:])

# 打印后3个参数
XZ:learn xz$ python test_argv.py a b c d
['b', 'c', 'd']


应用场景

  • 一个Python模块test.py,包含一个定义的方法:获取斐波那契数列
XZ:~ xz$ cat test.py 
import sys 

def fib(n):
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a + b
    return result


if __name__ == "__main__":
    f = fib(int(sys.argv[1]))
    print(f)
  • 执行test.py 模块,并传入参数 1000
XZ:~ xz$ python test.py 1000
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,179评论 19 139
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,436评论 17 410
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 12,634评论 1 19
  • 昨天继续培训,内容从采购到CAPA,不一而足。从培训的内容来看,与我的关系很大,因为是最后一天,老师的进度也提快了...
    辉辉2018阅读 1,400评论 0 0
  • 千辛万苦,终于是成为了公职人员。但是真的进入了这个体制,才发现很多事情跟自己想象中的不一样,甚至可以说是南辕北辙。...
    凤凌阅读 4,569评论 1 0

友情链接更多精彩内容