python 命令行庫 python之cmd庫學習

2021-10-21 03:26:00 字數 1999 閱讀 9020

一:cmd介紹

引用python的官方文件the cmd class provides a ****** framework for writing line-oriented

command interpreters.  these are often useful for test harnesses, administrative

inte***ce

cmd是乙個提供一種基於面向命令列直譯器編寫程式的簡單框架,這些通常用於測試工具,管理工具和稍後包裹在更加複雜的介面的原型非常有用。

二:cmd的基本使用

編寫基於cmd的程式要注意以下幾個點:1.要繼承自cmd.cmd類

2.要先初始化父類

3.所有的命令都是以do_開頭

4.所有的命令幫助都是以help_開頭

5.乙個命令對應乙個幫助,如果沒有幫助執行錯誤命令會出錯。

三:cmd例子

# -*- coding: utf-8 -*-

#!/usr/bin/python env

#引入一些包

import sys

import cmd

import os

#繼承cmd.cmd類

class cli(cmd.cmd):

def __init__(self):

#先初始化父類

cmd.cmd.__init__(self)

#設定命令列的提示符

self.prompt = ""

#第乙個命令dir命令,帶乙個引數

def do_dir(self,arg):

if not arg:

self.help_dir()

elif os.path.exists(arg):

print "\n".join(os.listdir(arg))

else:

print "no such pathexists"

#帶第二個命令

def do_quit(self,arg):

return true

#dir命令的幫助

def help_dir(self):

print "syntax:dir path -- displaya list of files and directories"

#help命令的幫助

def help_quit(self):

#命令的別名

do_q = do_quit

if __name__ == "__main__":

#開始執行cmd

cli = cli()

#迴圈接受使用者輸入的命令

cli.cmdloop()

四:執行結果[root@work python]# python cmdtest.py

dirsyntax:dir path -- displaya list of files and directories

dir /tmp

keyring-8mjwb8

ferret

.ice-unix

keyring-6y9txt

orbit-gdm

.x11-unix

keyring-e2wqqa

.x0-lock

pulse-weknqpdx0htq

keyring-aoiv8e

keyring-i47ize

keyring-bshjbu

pulse-8tdhlwhpdc2j

keyring-viwkfe

keyring-m5pgn7

keyring-pb8q2x

keyring-tme3bw

keyring-gtw1ih

.esd-0

help

documented commands (type help ):

dir  quit

undocumented commands:

help  q

q

golang命令行庫cobra的使用

golang命令行庫cobra的使用 一 簡介 cobra是乙個golang庫,它提供了乙個簡單的程式設計介面來建立類似於git和go工具的強大的現代cli介面。cobra同時提供了乙個工具,幫程式設計師快速實現cli框架。cobra具有如下強大的功能 2.完全相容posix命令列模式 3.巢狀子命...

python 命令列引數

本篇將介紹python中sys,getopt模組處理命令列引數 如果想對python指令碼傳引數,python中對應的argc,argv c語言的命令列引數 是什麼呢?需要模組 sys 引數個數 len sys.argv 指令碼名 sys.argv 0 引數1 sys.argv 1 引數2 sys....

python 命令列引數

python呼叫時,可以直接在命令列中加入呼叫引數,通過sys模組的argv來進行解析,如下 lixinglei bogon someother python param.py port 8080 username lixinglei lixinglei bogon someother vim pa...