你都用 Python 来做什么?

你们都用python做些什么呢?

在开发中 python 这一个语言就像是小叮当,而 python 的第三方库则是“百宝箱”,你只要想着对某一个方向进行开发,那么这个“百宝箱”就会给你想要的东西。
由于我是在开发多年后接触到的 python,对我来说自从接触 python 就打开了“新世界”的大门。(我正在求设计做一张图,还没做完,做完贴上在这里)

一、做个自己玩游戏的程序

在前几年,我有一个朋友是一个“游戏商人”,不过大多数他是手动进行商品处理。
他有一天找到我,跟我说“嗨兄弟,会不会做外G?”!
此时我觉得他在嘲讽我,为了我自己的自尊,我回答了“不会!”。
请添加图片描述
有一说一,我是一个正经程序员,那一方面我真的不会。不过在他看起来程序员就应该要解决计算机的一切问题,在此观点作祟之下,他一而再再而三的缠着我,最后我听了一下他的需求之后,我又觉得我可以了。

当时他的需求是想完成一个游戏的自动化操作(他自己一个人手动操作烦死了,据说一天可以赚好几百),当时我研究了一下他所说的一个手机游戏,发现所有逻辑都是“死”的,升级套路有固定剧情,并且对应的游戏玩法也相对固定,看他如此坚持我就同意了。

接下来我查了一下 python 相关的资料,发现了一个神奇的东西 Airtest,是网易开发的,据说是为了做一些测试,在原生应用下简直可以“为所欲为”。为了测试这个东西的是否真的牛啤,我就直接下载了 Airtest 的 IDE,在开发时踩了一些坑,但最终还是实现了对应项目的 自动化操作。最后我朋友感激涕零的拉着我喝了三天三夜,当时我觉得我不应该做出来给他去祸害我自己。

二、自动化办公

说到这个自动化办公我本身是不涉及到的,但在粉丝群里有很多同学是为了自动化办公而学习的python,但是由于经验不足,导致学完后自己却不能完成一些应用的开发,就在群里面艾特到我讲解一些功能如何实现。

在这里插入图片描述
我列出了几个比较常规的需求:

  1. 批量文本提取出手机号码
  2. 批量文本存储到 Excel 中
  3. 批量文本提取出邮箱
  4. 批量图片加水印
  5. 批量删除重复文件
  6. 批量文章算中文字数
  7. 批量生成gif
  8. 批量英文翻译
  9. 视频音轨批量提取

像取电话号码、邮箱基本上都是直接使用正则就可以提取了,若是需要操作 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'(13\d{9}|14[5|7]\d{8}|15\d{9}|166{\d{8}|17[3|6|7]{\d{8}|18\d{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=1for v in read_list:kval=v.split(':')for j in range(0,len(kval)):sheet1.write(i+1,j,kval[j])i=i+1workbook.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了。

三、python 爬虫

在这里插入图片描述
python 还可以去做一些爬虫方面的开发,例如你想要一些数据进行研究,可能你会使用 scrapy 之类的 python 爬虫框架,也可以使用 selenium 自动化测试框架做爬虫也是很方便。

专业用 scrapy 当然会更强大,但是 selenium 对于新手来说用起来也是非常棒的,可以忽略很多问题对网页信息进行提取。

但是需要注意,爬虫一定要合规使用哟。

四、python 机器学习、图像识别

请添加图片描述
python 做人工智能这一块也是非常方便,我记得我之前辅导一个情报学的同学做一个舆情分析系统,当时就是用了 python 制作,结合使用 sklearn 库,在可允许的误差中实现了这一套系统,这个还是非常棒的。

python 还可以通过 opencv 做图像识别,或者对图像进行模糊、加强等操作。我当时接触 opencv 是因为有一个平台说要征稿,一番计算之后发现学习成本和稿酬相比,稿酬比较诱人,接着我就接触了,就写了一些小东西,这个体验还是非常赞的。

五、python web方面

请添加图片描述
用 python 做 web 方面是一个较为常规的方向,python web 我接触的比较晚,因为之前做 web 我是使用的 php(为什么不用 java 是因为我年少时被 java 坑太惨了)。

我第一个接触的 python web 框架是 django。当时由于公司的一个项目是使用了 django 进行开发,我问开发(小农同学)这东西玩得怎么样,他跟我说“太简单了,直接就可以生成一个完整的项目。”!

我一听,心想这不就是跟那些 WordPress、discuz 一样吗?这还是 python?

于是为了搞懂 django,自己试了一下,果真 django 对开发一些项目及其方便。若使用 django 可以将其比喻成房子的地基(且软硬完全),再通过自己编写一“模块”为这个房子添加更多功能,在开发一些方向的 web 来说是非常方便的。

之后查了一下资料,发现了 Instagram 竟然就是 django 进行开发的。
在这里插入图片描述

六、画画

在这里插入图片描述
python 还可以通过代码画画,通过 turtle 画出很精美的作品。

turtle 是 python 的一个图像绘制库,我从资料上得知 turtle 是用来给青少年学习更好 python 的方式。我尝试了一下,确实很赞,下面就是我之前绘制出的一颗清新小树:
在这里插入图片描述
这里是我的代码,解释文章跳转:ttps://blog.csdn.net/A757291228/article/details/106029202:

from turtle import *
import randomdef 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,-750for i in range(30):up()goto(x,y)x+=100down()yval=50for 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+=50down()      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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DOS分区概述

虽然很多参考文档对DOS分区进行介绍&#xff0c;但一直没有一个统一的标准&#xff0c;也没有统一的命名规则。Microsoft将使用DOS分区体系的磁盘称为“主引导记录(Master Boot Recorder---MBR)磁盘”&#xff0c;这是相对于使用“全局ID分区表(GUID Partition Table---GPT)磁盘…

pdf.js 利用HTML5技术显示pdf内容

Mozilla实验室最近在github上开源了一款js库pdf.js&#xff0c;用来读取PDF文件。 http://mozilla.github.io/pdf.js/ Using base64 encoded PDF HTML页面内容 <script src"//mozilla.github.io/pdf.js/build/pdf.js"></script><h1>PDF.js Hell…

.NET 对于构建系统应用的探索历程

这篇文章介绍和梳理一下截止到 2022 年的 .NET 向系统编程探索的历程。2003 年的 Singularity 项目试图让 Windows 的内核态与用户态应用完全建立在 .NET 托管世界上&#xff0c;并试验了一个支持编译到本机代码的类似 C# 的语言&#xff0c;并发布了很多相关的论文。后来 Sing…

Android之tint图片着色器

1、爆照 上面是原图,下面是点击效果。 2、介绍 设置着色模式用的。这个模式共有6种,分别为: multiply screen src_in(默认) src_over src_atop add android:tint 属性可以改变图片颜色 3 源代码 colors.xml <?xml version="1.0" encoding="utf-8&qu…

完美解决ArcGIS10.x栅格空间插值报错无法进行和导出插值栅格结果出错的问题

不少GISer,尤其是初学者,对栅格数据的操作,主要是栅格插值无法进行,或者是插值后的栅格结果无法导出,或者导出结果为空,或者是栅格格式无法转换,今天刘一哥GIS就帮您排忧解难吧。 其实,关于栅格(尤其是ESRI GRID格式)问题,我们只需要要记住两点,一般问题就可以迎刃…

关于 Oracle分页数据重复的问题

2019独角兽企业重金招聘Python工程师标准>>> 先说问题吧。最近在测试一个新的模块&#xff0c;发现列表数据的前三页数据竟然是一样的。第一反应是 pageNo 的问题&#xff0c;debug一看&#xff0c;pageNo是正确的&#xff0c;然后一层层debug下去&#xff0c;所有参…

10分钟做一个新闻问答web站点[iVX低代码实战]

一、创建首页 进入到iVX线上编辑器后&#xff0c;选择相对定位。 点击创建后进入到 IDE 之中&#xff1a; 我们在第一步中首先创建一个首页。点击左侧组件栏中的页面组件&#xff0c;创建一个页面&#xff1a; 接着重命名该页面为Home&#xff0c;在页面中创建一个行&#x…

iOS开发网络篇—网络编程基础

一、为什么要学习网络编程 1.简单说明 在移动互联网时代&#xff0c;移动应用的特征有&#xff1a; &#xff08;1&#xff09;几乎所有应用都需要用到网络&#xff0c;比如QQ、微博、网易新闻、优酷、百度地图 &#xff08;2&#xff09;只有通过网络跟外界进行数据交互、数据…

PDF.js开发笔记

PDF.js是一个由HTML5建立的PDF阅读器。依托开源社区驱动和Mozilla实验室的技术支持。目标是建立一个通用的&#xff0c;基于web的解析和渲染PDF文件的平台。https://github.com/ChineseDron/pdf.js# 是从Mozilla原版中fork出来的一个版本&#xff0c;原版的链接在这里https://g…

深入理解Three.js(WebGL)贴图(纹理映射)和UV映射

本文将详细描述如何使用Three.js给3D对象添加贴图&#xff08;Texture Map&#xff0c;也译作纹理映射&#xff0c;“贴图”的翻译要更直观&#xff0c;而“纹理映射”更准确。&#xff09;。为了能够查看在线演示效果&#xff0c;你需要有一个兼容WebGL的现代浏览器&#xff0…

Android之glide加载圆形图片地址异常监听

1 问题 glide加载图片地址的时候&#xff0c;可能这个地址没有图片&#xff0c;那么我们需要对这种异常情况进行处理&#xff0c;当然我们也需要把这个图片进行圆形化 2 代码解决 Glide.with(mContext).load(iconPath).error(new ColorDrawable()).listener(new RequestListen…

在兰州吃牛肉面时亲眼目睹的一幕,我感动了

今天中午去吃占国牛肉面&#xff0c;人比较多&#xff0c;很热闹。旁边坐了一群身穿校服的小学生&#xff0c;身后坐着一位小学老师&#xff0c;当孩子们发现老师在后面的时候&#xff0c;都异口同声地叫老师过去跟他们一起吃&#xff0c;老师嘿的一笑&#xff0c;没同意&#…

如何跨 Namespace 同步 Secret 和 ConfigMap?

Secret 和 ConfigMap 资源对象是命名空间级别的。它们只能被同一命名空间中的 Pod 引用。所以有时候不得不手动为每个命名空间创建它们。但有很多场景&#xff0c;我们想让它们是全局的&#xff0c;至少可以是跨命名空间共享的 Secret 和 ConfigMap&#xff0c;例如这些场景&am…

OS X 10.11 安装Cocoapods

sudo gem install cocoapods报如下错误&#xff1a; ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj 解决的办法是&#xff1a;sudo gem install -n /usr/local/bin cocoapods gem影像改成&#xff1a;https://ruby.taobao.org/…

一文总结学习 Python 的 14 张思维导图

本文主要涵盖了 Python 编程的核心知识&#xff08;暂不包括标准库及第三方库&#xff0c;后续会发布相应专题的文章&#xff09;。 首先&#xff0c;按顺序依次展示了以下内容的一系列思维导图&#xff1a;基础知识&#xff0c;数据类型&#xff08;数字&#xff0c;字符串&am…

GEE学习笔记

掩膜 ​ 在遥感图像处理中&#xff0c;"掩膜"是指一种用于隐藏或保留图像特定部分的技术。掩膜通常是一个二进制图像&#xff0c;其中的像素值为0或1&#xff0c;分别表示遮蔽或保留。 ​ 在去除云的情境中&#xff0c;掩膜通常用于隐藏图像中被云覆盖的部分&#…

十一、飞机大战(IVX 快速开发教程)

十一、飞机大战 制作微信小游戏大致流程与微信小程序、Web类似&#xff0c;不同的在于是组件的使用。 文章目录十一、飞机大战11.1.1 完成游戏角色制作11.1.2 完成物理世界添加11.1.3 完成子弹对象反重力运动11.1.4 使用对象组创建子弹11.1.5 子弹优化11.1.6 设置敌机11.1.7 优…

中国版LinkedIn呼之欲出

迄今为止&#xff0c;发展势头强劲的Facebook仍未上市&#xff0c;而美国职业社交网站LinkedIn 却率先登录纽约证券交易所&#xff0c;股价在第一天的交易中飙升&#xff0c;从45美元的发行价上涨了一倍&#xff0c;然后超过100美元&#xff0c;最终以94.25美元收盘。 LinkedIn…

Android之实现RecyclerView拖拽效果和固定部分元素不进行交换位置(包含源代码下载地址)

1、效果爆照 启动的效果 拖动过程中的效果 拖动后的效果 2、需求和问题 需求:RecyclerView实现拖拽效果,但是部分固定位置不能进行拖拽也不能在拖拽的过程中交换顺序

各主流浏览器内核介绍

所谓的“浏览器内核”无非指的是一个浏览器最核心的部分——“Rendering Engine”&#xff0c;直译这个词汇叫做“渲染引擎”&#xff0c;不过我们也常称其为“排版引擎”、“解释引擎”。这个引擎的作用是帮助浏览器来渲染网页的内容&#xff0c;将页面内 容和排版代码转换为用…