副问题[/!--empirenews.page--]
剧本写的好,放工下得早!措施员的一般事变除了编写措施代码,还不行停止地必要处理赏罚相干的测试和验证事变。

譬喻,会见某个网站一向不通,必要确定此地点是否可会见,处事器返回什么,进而确定题目在于什么。完成这个使命,假如一味但愿回收编译型说话来编写这样的代码,实践中的时刻和精神是不足的,这个时辰就必要施展剧本的神奇浸染!
好不浮夸的说,可否写出高效适用的剧本代码,直接影响着一个措施员的幸福糊口[放工时刻]。下面清算 8 个适用的 Python 剧本,必要的时辰改改直接用,提议保藏!
1.办理 linux 下 unzip 乱码的题目。
- import os
- import sys
- import zipfile
- import argparse
- s = 'x1b[%d;%dm%sx1b[0m'
- def unzip(path):
- file = zipfile.ZipFile(path,"r")
- if args.secret:
- file.setpassword(args.secret)
- for name in file.namelist():
- try:
- utf8name=name.decode('gbk')
- pathname = os.path.dirname(utf8name)
- except:
- utf8name=name
- pathname = os.path.dirname(utf8name)
- #print s % (1, 92, ' >> extracting:'), utf8name
- #pathname = os.path.dirname(utf8name)
- if not os.path.exists(pathname) and pathname != "":
- os.makedirs(pathname)
- data = file.read(name)
- if not os.path.exists(utf8name):
- try:
- fo = open(utf8name, "w")
- fo.write(data)
- fo.close
- except:
- pass
- file.close()
- def main(argv):
- ######################################################
- # for argparse
- p = argparse.ArgumentParser(description='办理unzip乱码')
- p.add_argument('xxx', type=str, nargs='*',
- help='呼吁工具.')
- p.add_argument('-s', '--secret', action='store',
- default=None, help='暗码')
- global args
- args = p.parse_args(argv[1:])
- xxx = args.xxx
- for path in xxx:
- if path.endswith('.zip'):
- if os.path.exists(path):
- print s % (1, 97, ' ++ unzip:'), path
- unzip(path)
- else:
- print s % (1, 91, ' !! file doesn't exist.'), path
- else:
- print s % (1, 91, ' !! file isn't a zip file.'), path
- if __name__ == '__main__':
- argv = sys.argv
- main(argv)
2.统计当前根目次代码行数。
- # coding=utf-8
- import os
- import time
- # 设定根目次
- basedir = './'
- filelists = []
- # 指定想要统计的文件范例
- whitelist = ['cpp', 'h']
- #遍历文件, 递归遍历文件夹中的全部
- def getFile(basedir):
- global filelists
- for parent,dirnames,filenames in os.walk(basedir):
- for filename in filenames:
- ext = filename.split('.')[-1]
- #只统计指定的文件范例,略过一些log和cache文件
- if ext in whitelist:
- filelists.append(os.path.join(parent,filename))
- #统计一个的行数
- def countLine(fname):
- count = 0
- # 把文件做二进制对待,read.
- for file_line in open(fname, 'rb').readlines():
- if file_line != '' and file_line != 'n': #过滤掉空行
- count += 1
- print (fname + '----' , count)
- return count
- if __name__ == '__main__' :
- startTime = time.clock()
- getFile(basedir)
- totalline = 0
- for filelist in filelists:
- totalline = totalline + countLine(filelist)
- print ('total lines:',totalline)
- print ('Done! Cost Time: %0.2f second' % (time.clock() - startTime))
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|