Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 236|回复: 0

[默认分类] python天天进步(1)--sys.argv[]用法

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-5-22 15:45:42 | 显示全部楼层 |阅读模式


       
      在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉。
    今天又好好学习了一把,总算是大彻大悟了。
    Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明:
      1、使用sys.argv[]的一简单实例,
    import sys,os
    os.system(sys.argv[1])
      
      这个例子os.system接收命令行参数,运行参数指令,保存为sample1.py,命令行带参数运行sample1.py notepad,将打开记事本程序。
      2、这个例子是简明python教程上的,明白它之后你就明白sys.argv[]了。
    import sys
    def readfile(filename):  #从文件中读出文件内容
        """Print a file to the standard output."""
        f = file(filename)
        while True:
            line = f.readline()
            if len(line) == 0:
                break
            print line, # notice comma  分别输出每行内容
        f.close()
    # Script starts from here
    if len(sys.argv) < 2:
        print "No action specified."
        sys.exit()
    if sys.argv[1].startswith("--"):
        option = sys.argv[1][2:]
        # fetch sys.argv[1] but without the first two characters
        if option == "version":  #当命令行参数为-- version,显示版本号
            print "Version 1.2"
        elif option == "help":  #当命令行参数为--help时,显示相关帮助内容
            print """/
    This program prints files to the standard output.
    Any number of files can be specified.
    Options include:
      --version : Prints the version number
      --help    : Display this help"""
        else:
            print "Unknown option."
        sys.exit()
    else:
        for filename in sys.argv[1:]: #当参数为文件名时,传入readfile,读出其内容
            readfile(filename)
      保存程序为sample.py.我们验证一下:

       1)      
       命令行带参数运行:sample.py –version  输出结果为:version 1.2

       2)      
       命令行带参数运行:sample.py –help  输出结果为:This program prints files……

       3)      
       在与sample.py同一目录下,新建a.txt的记事本文件,内容为:test argv;命令行带参数运行:sample.py a.txt,输出结果为a.txt文件内容:test argv,这里也可以多带几个参数,程序会先后输出参数文件内容。


    ~~~~~~~~~~~~believe yourself ,nothing is impossible, write in 02.05.2009 by vivilorne~~~~~~~~~~~~~
       
       
       
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-8 11:39 , Processed in 0.415423 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表