用python實現(xiàn)整理手機(jī)圖片小應(yīng)用

這篇文章主要講解了“用python實現(xiàn)整理手機(jī)圖片小應(yīng)用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“用python實現(xiàn)整理手機(jī)圖片小應(yīng)用”吧!

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、叢臺網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為叢臺等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

起因

前幾天去國圖拍了一本書,一本心理學(xué)方面的書,也許你問我為什么不去買一本,或者去網(wǎng)上找pdf。 其實吧,關(guān)于心理學(xué)方面的書可以說在市面上一抓就是一堆,至于拍這本書兩個原因,一個是沒有什么收藏價值不值得我去買,只適合應(yīng)急用,然后就是這本書的作者寫作特點和其他大眾的不太一樣,可以說是有特點或者偏門,于是我就在手機(jī)上拍了一堆的圖片,后來整理成了pdf,但是昨天我看的時候原圖片文件還在快上千了吧,一個一個選擇刪除真是刪煩了,
也許你會說為什么不導(dǎo)入到電腦上進(jìn)行刪除,沒辦法我就是想整點不一樣的,學(xué)了python就是喜歡整點騷操作。(手動滑稽)
所以下面就在手機(jī)上使用python進(jìn)行一波騷操作。。。

準(zhǔn)備工具

首先你得有個手機(jī),233(和沒說一樣),咳咳 說正經(jīng)的,既然我要在手機(jī)上運行python了,這里我推薦pydroid3,因為代碼是基于python3.6寫的(f-string的使用)
為了方便大家下載,我給大家提供了百度云下載的地址:后臺回復(fù):pydroid即可。

安裝打開之后這個樣子

用python實現(xiàn)整理手機(jī)圖片小應(yīng)用  

剩下的就是運行代碼了,這個后面我們再說.

 

思路

在做這件事之前我們得知道具體如何去做。
1.確定待處理圖片文件所在目錄
2.然后確定要刪除哪些圖片,這里我們以圖片創(chuàng)建日期為準(zhǔn)進(jìn)行篩選。
3.為了防止誤刪,安全起見在該文件夾里創(chuàng)建一個trash目錄,首先把目標(biāo)圖片移動到該文件夾,然后確認(rèn)圖片可以刪除之后再進(jìn)行刪除。就像不要輕易使用rm一樣,你懂得。給自己留一個反悔的時間。

 

代碼實現(xiàn)

好了既然思路確定了我們就可以動手實現(xiàn)了。
1.確認(rèn)文件所在文件夾,這里使用pathlib模塊,pathlib是python3里的一個標(biāo)準(zhǔn)庫,主要也是操作路徑,和os模塊操作路徑比要說區(qū)別的話,就是拼接路徑有時候比較方便,最好的就是兩個配合著使用。好了下面上代碼

import pathlib
dir_path = pathlib.Path(filename).resolve().parent
 

resolve方法是獲取文件運行時的目錄,parent是獲取上一級目錄,也就是圖片的所在文件夾
2.創(chuàng)建trash目錄,移動之后的圖片所在目錄。
思路分析中提到這個文件夾得作用就是類似垃圾箱可以確認(rèn)后再刪除。

 trash_dir = dir_path.joinpath("trash")
 

我們可以通過joinpath方法進(jìn)行拼接路徑,os.path.join()需要填二個參數(shù),這里只需要一個即可,這就是優(yōu)勢。但是需要注意的是這個方法最終獲取的路徑是個對象不是字符串
在后面的使用中需要轉(zhuǎn)換成字符串形式的路徑.
3.接下來我們知道我們需要操作的文件類型是圖片,這里我以jpg為例,當(dāng)然如果你的圖片是png你可以寫png,python3的標(biāo)準(zhǔn)庫提供了glob模塊,這模塊可以設(shè)置匹配規(guī)則去獲取需要匹配的圖片列表。

import glob
image_path_list = glob.glob(to_str_path(dir_path.joinpath("*.jpg")))
 

之前說獲取的路徑是對象所以to_str_path是一個轉(zhuǎn)換成字符串路徑的方法。
*.jpg可以匹配所以后綴為jpg的文件生產(chǎn)結(jié)果列表。

4.文件都獲取完了但是并不一定都是我們需要的,我們需要的指定日期內(nèi)的文件

import os
file_time = os.path.getctime(image_path)
 

通過getctime我們獲取了圖片創(chuàng)建時間,進(jìn)行進(jìn)一步篩選。
5.文件都準(zhǔn)備好了,我們就需要移動到trash目錄,等待處理了。
通過os模塊的rename方法或者shutils的move方法可以對文件進(jìn)行移動,這里我選擇os模塊

import os
os.rename("移動前完整文件路徑", "移動后完整文件路徑")
 

6.此時文件就在trash目錄了。
然后確認(rèn)完了就可以刪了,如果沒問題就執(zhí)行delete方法.
這里提供兩種刪除方式一種是刪除所有文件,一種是整個文件夾都刪除,兩種唯一的區(qū)別就是下次不用創(chuàng)建trash目錄了,沒多大區(qū)別.

 if del_type == "dir":
        shutil.rmtree(trash_path)  # 遞歸刪除一個目錄以及目錄內(nèi)的所有內(nèi)容
    else:
        if os.path.exists(trash_path):
            file_list = os.listdir(trash_path)
            if file_list:
                remove_f = partial(remove, trash_path=trash_path)
                start_thread(remove_f, file_list)
   

演示

首先確定需要整理的文件在哪個目錄。
這里用我之前的手機(jī)截圖目錄為例。這里有個小問題就是,我怎么知道我的截圖文件在哪個目錄….
一般手機(jī)查看圖片的時候都有個詳細(xì)信息這里面一般有路徑。向下面這樣。

用python實現(xiàn)整理手機(jī)圖片小應(yīng)用  
通過圖片我們可以清楚的看到路徑在截圖文件夾里,至此我們就確定了文件的目錄。

然后為了方便我們就在需要操作的目錄里執(zhí)行python腳本,打開前面我們安裝的pydroid3
然后按照我的操作
1.將代碼復(fù)制到下面的框里

圖片太大無法演示整個過程了 看博客園的圖吧。

可以把newfile改個別的名字.  
2.調(diào)用方法傳入?yún)?shù)  
方法傳入日期參數(shù)格式例如20190101。  
這里以20171227為例運行代碼。  
在運行之后沒有結(jié)果,后來看了一眼圖片知道了,程序默認(rèn)圖片格式是jpg,我的截圖都是png,所以我需要指定filetype參數(shù)為png,同是date_str參數(shù)設(shè)置為20171227.  
運行代碼:  
 
用python實現(xiàn)整理手機(jī)圖片小應(yīng)用  

之后會發(fā)現(xiàn)指定的文件已經(jīng)在trash目錄了,  
 
用python實現(xiàn)整理手機(jī)圖片小應(yīng)用  

3.之后就可以執(zhí)行delete方法刪除了.

結(jié)語

到此為止,教程就這結(jié)束了,本來打算寫成多線程版的提提速來著結(jié)果發(fā)現(xiàn)好像手機(jī)沒反應(yīng),所以最好還是使用循環(huán)操作文件了,這里只是提供這么一個思路,代碼沒什么難度。關(guān)鍵是看用途,怎么樣你學(xué)會了么。

感謝各位的閱讀,以上就是“用python實現(xiàn)整理手機(jī)圖片小應(yīng)用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對用python實現(xiàn)整理手機(jī)圖片小應(yīng)用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

網(wǎng)站欄目:用python實現(xiàn)整理手機(jī)圖片小應(yīng)用
當(dāng)前URL:http://muchs.cn/article16/gedjdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、小程序開發(fā)、網(wǎng)站設(shè)計公司、網(wǎng)站營銷、網(wǎng)站建設(shè)、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)