『讲解开源项目系列』启动--让对开源项目感兴趣的人不再畏惧.让开源项目的发起者不再孤单.跟着我们的文章,你会发现编程的乐趣.使用和发现参与开源项目如此简单.欢迎联系我们给我们投稿,让更多人爱上开源.贡献开源- 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行的?是否考虑过由自己实现一个命令行工具,帮你执行和处理任务?是否了解过陪伴在你身边的 Python 有着丰富的库,来帮你轻松打造命令行工具? 别着急,本文作为 Python 命令行之旅的第一篇将带你逐步揭开命令行解析的面纱,介绍…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 前言 在第一篇"初探 argparse"的文章中,我们初步掌握了使用 argparse 的四部曲,对它有了一个基本的体感. 但是它具体支持哪些类型的参数?这些参数该如何配置?本文将带你深入了解 argparse 的参数们. 本系列文章默认使用 Python 3 作为解释器进行讲解.…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 前言 在上一篇"深入 argparse(一)"的文章中,我们深入了解了 argparse 的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力.本文将继续深入了解 argparse 的进阶玩法,一窥探其全貌,助力我们拥有实现复杂命令行程序的能力. 本系列文章默…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 前言 在前面三篇介绍 argparse 的文章中,我们全面了解了 argparse 的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具. 本文将以我们日常工作中最常见的 git 命令为例,讲解如何使用 argparse 库来实现一个真正可用的命令行程序. 本系列文章默认使用 Py…
http://blog.csdn.net/pipisorry/article/details/53046471 还有其他两个模块实现这一功能,getopt(等同于C语言中的getopt())和弃用的optparse.因为argparse是基于optparse,所以用法很类似. 参数解析模块argparse 添加命令行解析参数add_argument()方法 参数可以触发不同的动作,动作由 add_argument() 方法的 action 参数指定.支持的动作包括保存参数(逐个地,或者作为列表的…
当写一个Python脚本时经常会遇到不同参数不同功能的情况,如何做一个更好看的命令帮助信息以及对命令参数解析呢? 这就需要使用argparse模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os import argparse __metaclass__ = type class Inventory: def __init__(self): self._read_cli_args() if self._args…
为什么需要argparse 开门见山,举一个简易计算器代码的例子,其中sys.argv用来读取脚本执行时后面传入的参数. def calculator(x, y, operation): if "add" == operation: return x + y elif "mod" == operation: return x % y elif "sub" == operation: return x - y elif "div"…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在前面两篇介绍 docopt 的文章中,我们全面了解了 docopt 的能力.按照惯例,我们要像使用 argparse 一样使用 docopt 来实现 git 命令. 为了让没读过 使用 argparse 实现 git 命令 的小伙伴也能读明白本文,我们仍会对 git 常用命令和 gitpy…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在上一篇文章中,我们初步掌握了 click 的简单用法,并了解到它与 argparse 和 docopt 的不同.接下来,将深入介绍 click 的各类用法,以让你能轻松打造复杂的命令行程序. 在概念上, click 把命令行分为 3 个组成:参数.选项和命令. 参数 就是跟在命令后的除选项…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在上一篇文章中,我们介绍了 click 中的"参数",本文将继续深入了解 click,着重讲解它的"选项". 本系列文章默认使用 Python 3 作为解释器进行讲解. 若你仍在使用 Python 2,请注意两者之间语法和库的使用差异哦~ 二.选项 通…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在前面五篇介绍 click 的文章中,我们全面了解了 click 的强大能力.按照惯例,我们要像使用 argparse 和 docopt 一样使用 click 来实现 git 命令. 本文的关注点并不在 git 的各种命令是如何实现的,而是怎么使用 click 去打造一个实用命令行程序,代码…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在本系列前面所有文章中,我们分别介绍了 argparse.docopt 和 click 的主要功能和用法.它们各具特色,都能出色地完成命令行任务.argparse 是面向过程的,需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑.docopt 先用声明式的语法定义出参数,再过程式地…
argparse是一个常用的库函数,使用它的时候我们在命令行中不仅仅可以运行python文件,更可以零时调整参数,十分方便. 首先,如果你只是希望传一丢丢数据进去,那么只看下面两行就行了 import sys print("输入的参数为:%s" % sys.argv[1]) >python demo.py 1 输入的参数为:1 但是当要传很多的时候,还是接着往下看 基本用法,这是核心的两行: parser = argparse.ArgumentParser() parser.pa…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在上两篇文章中,我们介绍了 click 中的"参数"和"选项",本文将继续深入了解 click,着重讲解它的"命令"和"组". 本系列文章默认使用 Python 3 作为解释器进行讲解. 若你仍在使用 Pytho…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在前面三篇文章中,我们介绍了 click 中的参数.选项和命令,本文将介绍 click 锦上添花的功能,以帮助我们更加轻松地打造一个更加强大的命令行程序. 本系列文章默认使用 Python 3 作为解释器进行讲解. 若你仍在使用 Python 2,请注意两者之间语法和库的使用差异哦~ 二.增…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在本系列前面四篇文章中,我们介绍了 argparse 的方方面面.它无疑是强大的,但使用方式上略显麻烦.需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑. 而今天要介绍的 docopt 则是站在一个全新的视角来审视命令行.你可曾想过,一个命令行程序的帮助信息其实已然包含了这个命令…
argpaser是python中很好用的一个命令行解析模块,使用它我们可以很方便的创建用户友好型命令行程序.而且argparse会自动生成帮助信息和错误信息. 一.示例 例如下面的例子,从命令行中获取几个整数,然后获取它们的和或者最大值. import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('integers', metavar='N'…
先来介绍一把最基本的用法 import argparse parser = argparse.ArgumentParser() parser.parse_args() 在执行 parse_args() 之前,所有追加到命令行的参数都不会生效,生效了之后的默认情况类似于这样: 设置默认参数函数: import argparse parser = argparse.ArgumentParser() parser.add_argument("echo") args = parser.pars…
python命令行解析模块--argparse 目录 简介 详解ArgumentParser方法 详解add_argument方法 参考文档: https://www.jianshu.com/p/aac9f8079a53 https://www.2cto.com/kf/201412/363654.html 简介 介绍:argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块. argparse模块的作用是用于解析命令行参数,例如python par…
最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题,尤其是vc++中尤其繁琐. 现在用python来实现命令行,核心计算模块可以用c自己写扩展库,效果挺好. 学习了argparse,在官方文档中找到一篇toturial,简单翻译了下. http://docs.python.org/2/howto/argparse.html#id1 Argparse…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在近半年的 Python 命令行旅程中,我们依次学习了 argparse.docopt.click 和 fire 库的特点和用法,逐步了解到 Python 命令行库的设计哲学与演变. 本文作为本次旅程的终点,希望从一个更高的视角对这些库进行横向对比,总结它们的异同点和使用场景,以期在应对不同…
在python命令行下不能使用tab键将命令进行补全,手动输入又很容易出错. 解决:tab.py #/usr/bin/env python # -*- coding:utf-8 -*- ''' 该模块放在site-packages文件下可以在python命令行下使用tab补全(使用之前要先导入:import tab) ''' try: import readline except ImportError: print("Module readline not avalilable.")…
python命令行是新手学习python过程中必须要学的一个工具,下面我们来看一下怎么退出python命令行. 工具/原料 python2.7 方法/步骤 1.我们这里使用的是python3.6版本,我们先确认python版本及python正常工作.如下面图中所示,python版本是3.6.5,可以正常登陆.   2.我们首先来看第一种方式,使用python提供的exit()函数,如下面两张图中所示,分别是linux平台和windows平台上的exit()函数执行结果.可以看到,都可以正常退出.…
python命令行是新手学习python过程中必须要学的一个工具,下面我们来看一下怎么退出python命令行. 第一种方式: 使用python提供的exit()函数,linux平台和windows平台上的exit()函数执行结果,都可以正常退出.唯一的区别是,windows平台结束后多输出了一行空行. 第二种方式: python提供的第二个函数quit(),同样是linux和windows平台,执行结果一致.都可以正常退出,windows平台多输出一行空行. 第三种方式: 快捷键: Linux系…
目前CentOS6.5上自带的python版本为2.6,升级到python2.7会碰到很多问题.本文将介绍如何安装python2.7.pip以及python命令行补全. 一.如何安装python2.7 (1)gcc编译器,可以单独安装gcc,也可以安装“Development Tools” . yum -y install gcc 或者 yum -y groupinstall "Development tools" (2)python依赖包 yum install zlib-devel…
Python3.x:Linux下退出python命令行 退出命令: quit() #或者 exit() #或者 Ctrl-D…
Python命令行参数解析模块getopt使用实例 这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options[, long_options]) 1.args表示要解析的参数.  2.options表示脚本要识别的字符.字符之间用":"分隔,而且必须要以":"后结尾,例如"a:b:c:". 3.long_o…
python命令行参数解析OptionParser类用法实例 本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下:     from optparse import OptionParser     parser = OptionParser(usage="usage:%prog [optinos] filepath")  parser.add_option("-t", "--timeout&qu…
Python命令行创建虚拟环境 安装virtualenv 启动命令行,执行命令pip install -U virtualenv 创建一个新的虚拟环境 执行命令python -m virtualenv pytestenv 激活/启动/进入新创建的虚拟环境 在新创建的虚拟环境中,有个Scripts目录,进入该目录执行activate.bat 为新环境安装pytest…
python命令行获取参数 import sys # python获取参数 input_file = sys.argv[1] output_file = sys.argv[2] print(input_file) print(output_file) 输出:…