Python - 命令行参数

命令行参数

1. sys.argv[1:]为要处理的参数列表, sys.argv[0]为脚本名, sys.argv[1:]过滤脚本名.

2. “hc:o:”当选项(h)表示开关状态时,后面不带附加参数. 当选项(c:或o:)带附加参数时,选项字符后面加一个”:”号.

3. getopt函数返回两个列表: opts和args. opts是两元组的列表, 选项列表和参数列表.

4. getopt()的第三个参数[, long_options]为可选的长选项参数, 配合短选项使用, 长选项格式如: –image_dir –image_dir=./hello/



代码

import sys
import getopt

def main(argv):
    image_dir = ‘‘  # 图片文件夹
    code_dir = ‘‘  # 代码文件夹
    out_put = ‘‘  # 输出文件
    result = list()

    try:
        opts, args = getopt.getopt(argv, "hi:c:o:", ["image_dir=", "code_dir=", "out_put="])
    except getopt.GetoptError:
        print ‘SearchUnusedImages.py -i <image_dir> -c <code_dir> -o <out_put>‘
        sys.exit(2)

    for opt, arg in opts:
        if opt == ‘-h‘:
            print ‘SearchUnusedImages.py -i <image_dir> -c <code_dir> -o <out_put>‘
            sys.exit()
        elif opt in ("-i", "--image_dir"):
            image_dir = arg
        elif opt in ("-c", "--code_dir"):
            code_dir = arg
        elif opt in ("-o", "--out_put"):
            out_put = arg

    out_file = open(out_put, ‘w‘)
    print ‘scan start.‘
    for name, path in search_unused_images(image_dir, code_dir).items():
        result.append(path)
    for sort_path in sorted(result):
        print >> out_file, sort_path
    print ‘scan over.‘
    out_file.close()

if __name__ == "__main__":
    main(sys.argv[1:])

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-23 07:36:48

Python - 命令行参数的相关文章

Python命令行参数

Python命令行参数: -d 在解析时显示调试信息 -O 生成优化代码 ( .pyo 文件 ) -S 启动时不引入查找Python路径的位置 -v 输出Python版本号 -X 从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时. -c cmd 执行 Python 脚本,并将运行结果作为 cmd 字符串. file 在给定的python文件执行python脚本.

python 命令行参数解析 argparse简单分析

在python 2.7 后,不推荐使用 optparse, 而推荐使用 argparse. 其它的不多说,简单的分析下我遇到的问题:我是想用 argparse 来解析不定长的命令行参数 例如: import argparse import sys parser = argparse.ArgumentParser(description='test parsing arguments') parser.add_argument('pos1', nargs='*') parser.add_argum

python命令行参数处理

使用sys.argv获得参数,使用getopt和optparse两个内建的模块处理命令行参数: getopt,只能简单处理 命令行参数: optparse,它功能强大,而且易于使用,可以方便地生成标准的.符合Unix/Posix 规范的命令行说明. sys.argv: """ 将参数转化成字典形式 python testargv1.py -o data.txt -i sql.txt --->sql.txt {'-o':'data.txt','-i':'sql.txt'}

python 命令行参数解析

本文是从我另一个博客转载过来的,欢迎大家点击进去看一下,帮我增加点人气^_^ ImPyy 选择模块 根据python参考手册的提示,optparse 已经废弃,应使用 argparse 教程 概念 argparse 模块使用 add_argument 来添加可选的命令行参数,原型如下: ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, r

Python 命令行参数和getopt模块详解

1.需求来源 有时候我们需要写一些脚本处理一些任务,可能根据不同的条件输入不同的命令,来完成不同的任务.能不能做到跟linux操作系统一样,看着更高大上一点呢? 答案当然是可以的啦!getopt能满足你的需求 先看个linux 中的系统命令吧:最终目的就是写出类似的脚本. 2.getopt介绍 getopt这个函数 就是用来抽取 sys.argv 获得的用户输入来确定执行步骤. getopt是个模块,而这个模块里面又有getopt 函数,所以getopt需要这样这样用. getopt.getop

docopt——好用的Python命令行参数解释器

Qingchat使用的命令行参数解释器是 docopt,用下来感觉非常棒,所以决定介绍一下这个库.( 奉劝各位看官,真爱生命,远离argparse. ) 介绍 docopt 本质上是在 Python 中引入了一种针对命令行参数的形式语言,在代码的最开头使用""" 文档注释的形式写出符合要求的文档,就会自动生成对应的parse,体验非常赞. 用法 样例 docopt的使用非常简单,以Qingchat为例,你只需要在代码最开头加入: """Qingc

python 命令行参数学习(一)

用了这么久,还没怎么学习python的命令行参数,是在惭愧. 参考文章地址:http://www.cnblogs.com/jianboqi/archive/2013/01/10/2854726.html 自己的代码实例: #-*-coding:utf-8-*- __author__ = 'Deen' ''' import argparse parser = argparse.ArgumentParser() parser.parse_args() ''' ''' import argparse

python 命令行参数学习(二)

照着例子看看打打,码了就会.写了个命令行参数调用进行运算的脚本. 参考文章链接:http://www.jianshu.com/p/a50aead61319 #-*-coding:utf-8-*- __author__ = 'Deen' ''' import argparse parser = argparse.ArgumentParser() # 这个action的作用为,如果使用verbosity,则赋值为true,否则为false parser.add_argument("--verbosi

python 命令行参数sys.argv

python中命令行参数和shell不一样,是通过sys.argv[]来获取的,sys.argv[0]是代码文件本身的路径,因此参数是从1开始的, 例子: #!/usr/bin/env python import os import json import os, sys #t=os.popen("""netstat -natp|awk -F: '/redis-server/&&/LISTEN/{print $2}'|awk '{print $1}' &quo

Python命令行参数sys.argv[]

学习C语言的时候就没弄明白命令行参数的用法,在学习Pyton 的时候又遇到了命令行参数,在这里稍微学习了一下,稍微明白了一些在这里做个记录方便后面回顾复习. Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码文件绝对路径,所以所以其余参数从1开始,以下两个例子说明: 1. import sys,os os.system(sys.argv[1]) 这个例子os.system接收命令行参数,运行参数指令,保存为sample1.py,命令行带参数运行sample1.py not