你都用 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.pswp.cn/news/286674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286674.shtml
英文地址,請注明出處:http://en.pswp.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;將頁面內 容和排版代碼轉換為用…