各位用户为了找寻关于Python使用CMD模块更优雅的运行脚本的资料费劲了很多周折。这里教程网为您整理了关于Python使用CMD模块更优雅的运行脚本的相关资料,仅供查阅,以下为您介绍关于Python使用CMD模块更优雅的运行脚本的详细内容

本文实例讲述了Python使用CMD模块更优雅的运行脚本的方法。分享给大家供大家参考。具体分析如下:

平时由于经常给测试人员调试一些东西,虽然写了一些脚本,感觉还是不方便。

python的cmd模块提供的更优雅的方式,很喜欢。

刚写了一些平时常用的测试代码:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 # -*- coding:utf-8 -*- import os, sys from datetime import datetime import cmd import warnings from django.conf import settings def not_exit(func):   def _func(*args, **kwargs):     try:       res = func(*args, **kwargs)       return res     except:       print "there is a wrong in %s, please input 'help %s' to get help" % (func.__name__, func.__name__[3:])       return None   return _func class NBScript(cmd.Cmd):   def __init__(self):     cmd.Cmd.__init__(self)     #设置命令提示符     self.prompt = '> '     #配置django环境     pathname = os.path.dirname(sys.argv[0])     sys.path.append(os.path.abspath(pathname))     sys.path.append(os.path.normpath(os.path.join(os.path.abspath(pathname), '../')))     os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'   #清用户cache   def help_clear_cache(self):     print "Usage:clear_cache [sns_id]"     print "-- clear the user's cache"   @not_exit   def do_clear_cache(self, sns_id):     from scripts.update_cache import clear_member_all_cache     clear_member_all_cache(sns_id)   #用户升级   def help_user_level_up(self):     print "Usage:user_level_up [sns_id] [level]"     print "-- level up the user to the level"   @not_exit   def do_user_level_up(self, parms):     from apps.members.cache import get_member_by_sns_id, get_or_create_almanac_info     from apps.members.constants import EXP_LEVEL     sns_id, level = parms.split()     sns_id = int(sns_id)     level = int(level)     member = get_member_by_sns_id(sns_id)     al_info = get_or_create_almanac_info(member.id)     al_info.exp = EXP_LEVEL[level-1] + 1     al_info.save()   #增加用户珍珠   def help_add_pearls(self):     print "Usage:add_pearls [sns_id] [pearls]"     print "-- add some pearls to the user"   @not_exit   def do_add_pearls(self, parms):     from platforms.account.helper import add_account_pearls     sns_id, pearls = parms.split()     sns_id = int(sns_id)     pearls = int(pearls)     add_account_pearls('', '', sns_id, pearls, type='Test', money=0)   #分鱼   def help_add_fishes(self):     print "Usage:add_fishes [sns_id] [fish1 fish2 ...]"     print "-- add some fishes to the user"   @not_exit   def do_add_fishes(self, parms):     from apps.members.cache import get_member_by_sns_id     from apps.members.helper import new_a_member_fish     from apps.products.cache import get_fish     array = parms.split()     sns_id = int(array[0])     fish_ids = [int(i) for i in array[1:]]     member = get_member_by_sns_id(sns_id)     for fish_id in fish_ids:       fish = get_fish(fish_id)       new_a_member_fish(member, fish.id, update_almanac=True)   #分贝壳   def help_add_shells(self):     print "Usage:add_shells [sns_id] [shells]"     print "-- add some shells to the user"   @not_exit   def do_add_shells(self, parms):     from apps.members.cache import get_member_by_sns_id     sns_id, num = parms.split()     sns_id = int(sns_id)     num = int(num)     member = get_member_by_sns_id(sns_id)     member.shells += num     member.save()   #分鱼食   def help_add_fish_food(self):     print "Usage:add_fish_food [sns_id] [food_num]"     print "-- add some food to the user"   @not_exit   def do_add_fish_food(self, parms):     from apps.members.cache import get_member_by_sns_id     sns_id, num = parms.split()     sns_id = int(sns_id)     num = int(num)     member = get_member_by_sns_id(sns_id)     member.fish_food += num     member.save()   #分鱼缸   def help_add_fish_tanks(self):     print "Usage:add_fish_food [sns_id] [tank1,tank2 ...]"     print "-- add some tanks to the user"   @not_exit   def do_add_fish_tanks(self, parms):     from apps.members.cache import get_member_by_sns_id     from apps.members.helper import new_a_member_tank     from apps.products.cache import get_fish_tank     array = parms.split()     sns_id = int(array[0])     tank_ids = [int(i) for i in array[1:]]     member = get_member_by_sns_id(sns_id)     for tank_id in tank_ids:       tank = get_fish_tank(tank_id)       new_a_member_tank(member, tank.id)   #分道具   def help_add_items(self):     print "Usage:add_items [sns_id] [itme1,item2 ...]"     print "-- add some itmes to the user"   @not_exit   def do_add_items(self, parms):     from apps.members.cache import get_member_by_sns_id     from apps.members.helper import new_a_member_item     from apps.products.cache import get_item     array = parms.split()     sns_id = int(array[0])     item_ids = [int(i) for i in array[1:]]     member = get_member_by_sns_id(sns_id)     for item_id in item_ids:       item = get_item(item_id)       new_a_member_item(member, item.id)   #刷任务   def help_refresh_task(self):     print "Usage:refresh_task [sns_id]"     print "-- refresh user's task"   @not_exit   def do_refresh_task(self, sns_id):     from apps.members.cache import get_member_by_sns_id     sns_id = int(sns_id)     member = get_member_by_sns_id(sns_id=sns_id)     member.task_start_time = None     member.save()   #调合成等级   def help_synthesis_level_up(self):     print "Usage:synthesis_level_up [sns_id] [level]"     print "-- level up user's synthesis level"   @not_exit   def do_synthesis_level_up(self, parms):     from apps.members.cache import get_member_by_sns_id     from apps.synthesis.cache import get_or_create_synth_info     sns_id, lev = parms.split()     sns_id = int(sns_id)     lev = int(lev)     member = get_member_by_sns_id(sns_id=sns_id)     exp = int(sum([i**1.5*20 for i in range(1,lev+1)]))     member = get_member_by_sns_id(sns_id)     synth = get_or_create_synth_info(member.id)     synth.synth_exp = exp     synth.save()   def help_quit(self):     print "Usage:quit"   def do_quit(self, line):     exit()   do_q = do_quit if __name__ == "__main__":   nb_script = NBScript()   nb_script.cmdloop()

这里权当cmd模块的简单学习了。

希望本文所述对大家的Python程序设计有所帮助。