python脚本可以做什么,什么叫python脚本
学过编程的都知道,除了要写代码,测试也是很重要的环节。大家都只听说程序员小哥哥的头发是稀有的东西,那如果测试的速度变快岂不是可以早早下班?今天小编就为大家带来几个计算机编程语言中几个实用的脚本。
1.解决 linux 下 unzip 乱码的问题。
importosimportsysimportzipfileimportargprass= \ x1b[% d;% DM % s \ x1b[0m defunzip(路径):
file=zipfile .zip文件(路径,“r”)
ifargs.secret:
file.setpassword(args.secret)
fornameinfile.namelist():
尝试:
utf8name=name.decode(gbk )
路径名=操作系统。路径。目录名(utf8名称)
例外:
utf8name=name
路径名=操作系统。路径。目录名(utf8名称)
打印次数%(1,92次提取:’),utf8name
#路径名=操作系统。路径。目录名(utf8名称)
ifnotos.path.exists(路径名)和路径名!=:
os.makedirs(路径名)
data=file.read(name)
ifnotos。路径。存在(utf8名称):
尝试:
空军中尉
=open(utf8name,"w")
fo.write(data)
fo.close
except:
pass
file.close()defmain(argv):
######################################################
#forargparse
p=argparse.ArgumentParser(description='解决unzip乱码')
p.add_argument('xxx',type=str,nargs='*',\help='命令对象.')
p.add_argument('-s','--secret',action='store',\default=None,help='密码')
globalargs
args=p.parse_args(argv[1:])
xxx=args.xxx
forpathinxxx:
ifpath.endswith('.zip'):
ifos.path.exists(path):
prints%(1,97,'++unzip:'),path
unzip(path)
else:
prints%(1,91,'!!filedoesn\'texist.'),path
else:
prints%(1,91,'!!fileisn\'tazipfile.'),pathif__name__=='__main__':
argv=sys.argv
main(argv)
2.统计当前根目录代码行数。
importosimportsys
try:
directory=sys.argv[1]
exceptIndexError:
sys.exit("Mustprovideanargument.")
dir_size=0
fsizedicr={'Bytes':1,
'Kilobytes':float(1)/1024,
'Megabytes':float(1)/(1024*1024),
'Gigabytes':float(1)/(1024*1024*1024)}
for(path,dirs,files)inos.walk(directory):
forfileinfiles:
filename=os.path.join(path,file)
dir_size+=os.path.getsize(filename)
fsizeList=[str(round(fsizedicr[key]*dir_size,2))+""+keyforkeyinfsizedicr]
ifdir_size==0:print("FileEmpty")
else:
forunitsinsorted(fsizeList)[::-1]:
print("FolderSize:"+units)
3.扫描当前目录和所有子目录并显示大小。
importosimportsys
try:
directory=sys.argv[1]
exceptIndexError:
sys.exit("Mustprovideanargument.")
dir_size=0
fsizedicr={'Bytes':1,
'Kilobytes':float(1)/1024,
'Megabytes':float(1)/(1024*1024),
'Gigabytes':float(1)/(1024*1024*1024)}
for(path,dirs,files)inos.walk(directory):
forfileinfiles:
filename=os.path.join(path,file)
dir_size+=os.path.getsize(filename)
fsizeList=[str(round(fsizedicr[key]*dir_size,2))+""+keyforkeyinfsizedicr]
ifdir_size==0:print("FileEmpty")
else:
forunitsinsorted(fsizeList)[::-1]:
print("FolderSize:"+units)
4.将源目录240天以上的所有文件移动到目标目录。
importshutilimportsys
importtime
importos
importargparse
usage='pythonmove_files_over_x_days.py-src[SRC]-dst[DST]-days[DAYS]'
description='Movefilesfromsrctodstiftheyareolderthanacertainnumberofdays.Defaultis240days'
args_parser=argparse.ArgumentParser(usage=usage,description=description)
args_parser.add_argument('-src','--src',type=str,nargs='?',default='.',help='(OPTIONAL)Directorywherefileswillbemovedfrom.Defaultstocurrentdirectory')
args_parser.add_argument('-dst','--dst',type=str,nargs='?',required=True,help='(REQUIRED)Directorywherefileswillbemovedto.')
args_parser.add_argument('-days','--days',type=int,nargs='?',default=240,help='(OPTIONAL)Daysvaluespecifiestheminimumageoffilestobemoved.Defaultis240.')
args=args_parser.parse_args()
ifargs.days<0:
args.days=0
src=args.src#设置源目录
dst=args.dst#设置目标目录
days=args.days#设置天数
now=time.time()#获得当前时间
ifnotos.path.exists(dst):
os.mkdir(dst)
forfinos.listdir(src):#遍历源目录所有文件
ifos.stat(f).st_mtime<now-days*86400:#判断是否超过240天
ifos.path.isfile(f):#检查是否是文件
shutil.move(f,dst)#移动文件
5.扫描脚本目录,并给出不同类型脚本的计数。
importosimportshutil
fromtimeimportstrftime
logsdir="c:\logs\puttylogs"
zipdir="c:\logs\puttylogs\zipped_logs"
zip_program="zip.exe"
forfilesinos.listdir(logsdir):
iffiles.endswith(".log"):
files1=files+"."+strftime("%Y-%m-%d")+".zip"
os.chdir(logsdir)
os.system(zip_program+""+files1+""+files)
shutil.move(files1,zipdir)
os.remove(files)
以上就是Python中有5个实用的脚本。更多Python学习推荐:PyThon学习网教学中心。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。