脚本宝典收集整理的这篇文章主要介绍了你都用 Python 来做什么?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在开发中 python 这一个语言就像是小叮当,而 python 的第三方库则是“百宝箱”,你只要想着对某一个方向进行开发,那么这个“百宝箱”就会给你想要的东西。 由于我是在开发多年后接触到的 python,对我来说自从接触 python 就打开了“新世界”的大门。(我正在求设计做一张图,还没做完,做完贴上在这里)
在前几年,我有一个朋友是一个“游戏商人”,不过大多数他是手动进行商品处理。 他有一天找到我,跟我说“嗨兄弟,会不会做外G?”! 此时我觉得他在嘲讽我,为了我自己的自尊,我回答了“不会!”。
有一说一,我是一个正经程序员,那一方面我真的不会。不过在他看起来程序员就应该要解决计算机的一切问题,在此观点作祟之下,他一而再再而三的缠着我,最后我听了一下他的需求之后,我又觉得我可以了。当时他的需求是想完成一个游戏的自动化操作(他自己一个人手动操作烦死了,据说一天可以赚好几百),当时我研究了一下他所说的一个手机游戏,发现所有逻辑都是“死”的,升级套路有固定剧情,并且对应的游戏玩法也相对固定,看他如此坚持我就同意了。
接下来我查了一下 python 相关的资料,发现了一个神奇的东西 airtest,是网易开发的,据说是为了做一些测试,在原生应用下简直可以“为所欲为”。为了测试这个东西的是否真的牛啤,我就直接下载了 Airtest 的 IDE,在开发时踩了一些坑,但最终还是实现了对应项目的 自动化操作。最后我朋友感激涕零的拉着我喝了三天三夜,当时我觉得我不应该做出来给他去祸害我自己。
说到这个自动化办公我本身是不涉及到的,但在粉丝群里有很多同学是为了自动化办公而学习的python,但是由于经验不足,导致学完后自己却不能完成一些应用的开发,就在群里面艾特到我讲解一些功能如何实现。
我列出了几个比较常规的需求:像取电话号码、邮箱基本上都是直接使用正则就可以提取了,若是需要操作 Excel 只需要使用 xlwt 库就可以完成,加水印这些只需要使用 oPEncv 库,对比相同文件只需要判断 md5 文件的值就可以了,翻译就是使用 translate 库。 由于代码不难,我就不在这里写出来了,如果需要的评论区可以留言,人多的话我就更新话题把代码也讲一遍了。
想了想,为了大家的收藏量我决定直接把代码打出来吧。
自动化办公解释文章跳转:https://blog.csdn.net/A757291228/article/details/117464313。
批量文本提取出手机号码:
#读取目标文本文件
def get_str(path):
f = open(path,encoding="utf-8")
data = f.read()
f.close()
return data
import re
#正则获取文本号码
def get_phone_number(str):
res = re.findall(r'(13d{9}|14[5|7]d{8}|15d{9}|166{d{8}|17[3|6|7]{d{8}|18d{9})', str)
return res
#保存得到号码
def save_res(res,save_path):
save_file = open(save_path, 'w')
for phone in res:
save_file.wrITe(phone)
save_file.write('n')
save_file.write('n号码共计:'+str(len(res)))
save_file.close()
PRint('号码读取OK,号码共计:'+str(len(res)))
path=input("请输入文件路径:")
save_path=input("请输入文件保存路径:")
#read_str=get_str(path)
res=get_phone_number(get_str(path))
save_res(res,save_path)
批量文本存储到 Excel 中:
import xlwt
#读取目标文本文件
def get_str(path):
f = open(path,encoding="utf-8")
data = f.read()
f.close()
return data
#保存为Excel文件
def save_excel(save_path,sheetname,column_name_list,read_list):
workBook = xlwt.Workbook()
sheet1 = workbook.add_sheet(sheetname=sheetname)
for i in range(0,len(column_name_list)):
sheet1.write(0,i,column_name_list[i])
i=1
for v in read_list:
kval=v.split(':')
for j in range(0,len(kval)):
sheet1.write(i+1,j,kval[j])
i=i+1
workbook.save(save_path)
print('信息保存 OK,记录条数共计:'+str(len(read_list)))
path=input("请输入文件路径:")
save_path=input("请输入文件保存路径:")
sheet_name=input("请输入sheetname:")
column_name=input("请输入列名,并且使用英文逗号隔开:")
column_name_list=column_name.split(',')
read_str=get_str(path)
read_list=read_str.split('n')
save_excel(save_path,sheet_name,column_name_list,read_list)
批量删除重复文件:
import hashlib,os
def getMD5(filepath):
f = open(filepath,'rb')
md5obj = hashlib.md5()
md5obj.update(f.read())
hash = md5obj.hexdigest()
f.close()
return str(hash).upper()
path=input("请输入需要重复文件过滤文件夹路径:")
file_list = os.listdir(path)
file_md5=[]
for filename in file_list:
md5val=getMD5(path+filename)
if md5val in file_md5:
os.remove(path+filename)
else:
file_md5.append(md5val)
print("处理完毕...")
批量英文翻译:
From translate import Translator
translator = Translator(to_lang="Chinese")
def get_str(path):
f = open(path)
data = f.read()
f.close()
return data
path=input("请输入文件路径:")
text=get_str(path)
以上的代码是基础代码,相似需求的内容我就不贴出来了。 代码需要大家修改哟,代码很简单,看看就ok了。
专业用 scrapy 当然会更强大,但是 selenium 对于新手来说用起来也是非常棒的,可以忽略很多问题对网页信息进行提取。
但是需要注意,爬虫一定要合规使用哟。
python 还可以通过 opencv 做图像识别,或者对图像进行模糊、加强等操作。我当时接触 opencv 是因为有一个平台说要征稿,一番计算之后发现学习成本和稿酬相比,稿酬比较诱人,接着我就接触了,就写了一些小东西,这个体验还是非常赞的。
我第一个接触的 python web 框架是 django。当时由于公司的一个项目是使用了 django 进行开发,我问开发(小农同学)这东西玩得怎么样,他跟我说“太简单了,直接就可以生成一个完整的项目。”!
我一听,心想这不就是跟那些 WordPress、discuz 一样吗?这还是 python?
于是为了搞懂 django,自己试了一下,果真 django 对开发一些项目及其方便。若使用 django 可以将其比喻成房子的地基(且软硬完全),再通过自己编写一“模块”为这个房子添加更多功能,在开发一些方向的 web 来说是非常方便的。
之后查了一下资料,发现了 Instagram 竟然就是 django 进行开发的。
turtle 是 python 的一个图像绘制库,我从资料上得知 turtle 是用来给青少年学习更好 python 的方式。我尝试了一下,确实很赞,下面就是我之前绘制出的一颗清新小树:
@H_777_836@
这里是我的代码,解释文章跳转:ttps://bLOG.csdn.net/A757291228/article/details/106029202:from turtle import *
import random
def drawTree(length):
if length>1:
if length<30 and length>14:#缩小一下树干
pensize(4)
elif length<15 and length>5:#长度这个范围内那么就是绿叶
color('#04B486')#
pensize(3)
elif length<5 and length>1:#红花
color('#FE2E9A')
pensize(2)
else:
color('#5E5E5E')#其他范围就是正常的树干
pensize(5)
#随机角度与长度
randangle=2*random.random()
randlen=2*random.random()
#每次使用函数先绘制线段,再调整角度,这里是向右的角度转动
fd(length)
right(20*randangle)
drawTree(length - 10*randlen)
#这里是向左的角度转动
left(40 * randangle)
drawTree(length - 10*randlen)
#为什么需要再向右转20度?那是因为我一共向左转了40度,使用backward后退,必须是相同的角度,不然退回去角度就不同了位置就不会对
right(20 * randangle)
up()
backward(length)
down()
def fallingFlowers(m):
x,y=-1000,-750
for i in range(30):
up()
goto(x,y)
x+=100
down()
yval=50
for i in range(m):
a = 100*random.random()
b = 2*random.random()
print(a)
if a>59:
color('#FE2E9A')
else:
color('#04B486')
circle(5)
up()
goto(x,y+(yval*b))
fd(a)
yval+=50
down()
setworldcoordinates(-1000,-750,1000,750)
trACER(False)
fallingFlowers(10)#绘制落叶
bgcolor("#F5F6CE")
color('#5E5E5E')
pensize(5)
up()
goto(0,-700)#跳到绘制起始点
down()
left(80)
fd(140)
drawTree(120)
input()
以上是脚本宝典为你收集整理的你都用 Python 来做什么?全部内容,希望文章能够帮你解决你都用 Python 来做什么?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。