修改圖片的MIME型別及使其名稱排序的指令碼
correctMIMEType模組:
import os,sys,shelve,time def correctMIMEType(): moduleFileName='correctMIMEType.py' fileTypeFile='fileType' mimeTypeFile='mime' countFile='.fileInfo' if not os.path.exists(countFile): f=shelve.open(countFile) f['count']=0 f['lastModifiedTime']=0 f.close() for dn in sys.path: if os.path.exists(os.path.join(dn,moduleFileName)): dirname=dn break files=[x for x in os.listdir() if os.path.isfile(x)] files.sort() unknownType=[] length=len(files) fileType=shelve.open(os.path.join(dirname,fileTypeFile)) mimeType=shelve.open(os.path.join(dirname,mimeTypeFile)) curCountFile=shelve.open(countFile) curCount=curCountFile['count'] lastModifiedTime=curCountFile['lastModifiedTime'] for filename in files: if filename[0]!='.': if os.path.getatime(filename)<=lastModifiedTime: continue if os.path.getatime(filename)<=lastModifiedTime: continue fe=list(os.path.splitext(filename)) curCount+=1 fe[0]=str(curCount) f=open(filename,'rb').read() for pictureType in fileType['pictureType']: findType=False for tp in mimeType[pictureType]: if f[tp[0]:tp[1]]==tp[2]: if fe[1]!=pictureType: fe[1]=pictureType findType=True break if findType: break else: unknownType.append(filename) newname=fe[0]+fe[1] if os.path.exists(newname) and newname!=filename: newnewname=newname ext=list(os.path.splitext(newnewname)) while(os.path.exists(newnewname)): ext[0]=ext[0]+'o' newnewname=ext[0]+ext[1] files.remove(newname) files.append(newnewname) os.rename(newname,newnewname) os.rename(filename,newname) curCountFile['count']=curCount curCountFile['lastModifiedTime']=time.time() fileType.close() mimeType.close() curCountFile.close() return unknownType def rearrangeName(): if not os.path.exists('.fileInfo'): correctMIMEType() files=[x for x in os.listdir() if os.path.isfile(x) and x[0]!='.'] fileExt={} for x in files: try: ext=os.path.splitext(x) fileExt[int(ext[0])]=ext[1] except ValueError: ext=os.path.split(x) unrelativeNames[ext[0]]=ext[1] beforeName=list(fileExt.keys()) beforeName.sort() count=len(beforeName) for i in range(count): if beforeName[i]==i+1: pass else: last=beforeName.pop() beforeName.insert(i,i+1) oldname=str(last)+fileExt[last] newname=str(i+1)+fileExt[last] os.rename(oldname,newname) f=shelve.open('.fileInfo') f['count']=len(files) f['lastModifiedTime']=time.time() f.close()
相關推薦
修改圖片的MIME型別及使其名稱排序的指令碼
correctMIMEType模組: import os,sys,shelve,time def correctMIMEType(): moduleFileName='correctMIMEType.py' fileTypeFile='fileType' mime
mysql修改表字段編碼,使其支持emoji表情
exception .sql var blog odi utf use pan cor 普通的UTF8編碼是不支持emoji表情插入的,會報異常: Caused by: java.sql.SQLException: Incorrect string value: ‘\xF
修改L版本android.jar使其包含增加的api
工作的時候有時候會在系統中增加api方法,這時候如果提供給app開發人員使用的話有兩種方法: 打包新的android.jar 使用反射 這裡簡單的說一下第一種方法,使用反射的方法可以參照之前的文章。 其實android系統內帶的framework.jar已經包
修改微軟TstCon容器原始碼,使其支援Python指令碼和ActiveX控制元件互動
關於ActiveX和指令碼互動請看https://baike.baidu.com/item/ActiveX%E8%84%9A%E6%9C%AC%E7%BC%96%E7%A8%8B/3350788?fr=aladdin本
利用ffmpeg修改MP4檔案頭資訊,使其支援流式載入及播放
最近在用AS3寫一個Flash的播放器,發現同樣都是H264編碼的mp4檔案,有的可以載入一點就開始播放,有的就必須全部載入完才能播。用本地播放器(potplayer,暴風影音等)開啟檢視,發現編碼什麼的也都是一樣的:左邊這個必須是全部載入完成才能播,右邊這個是一載入就能播。
修改字符集時source使其生效詳解
source 版權 ==版權聲明:#本文的所有內容均來自作者劉春凱的學習總結,未經本人許可,禁止私自轉發及使用。QQ:1151887353E-mail:[email protected]/* */ [email protected]/* */[email p
修改完linux bashrc文件之後,如何不重啟系統使其生效
命令 HR 讀取文件 profile 自動調用 修改 ssh登陸 body shel 修改完後,輸入如下命令即可 ##@##:~/ source ~/.bashrc 之後bashrc文件就可以使用! 註: 使用ssh登陸shell的時候,系統不會自動調用
Linux修改vim編輯器的tab命令,使其移動4個空格
Linux修改vim編輯器的tab命令,使其移動4個空格 在linux中,編輯檔案時為了更直觀,通常會利用模組格式進行編輯 如: #!/usr/bin/python if True: print ("Answer") print
修改catalina改變tomcat命令列的名稱及cmd的小技巧
啟動tomcat之後,命令列的名稱一般都是Tomcat,如果開了多個tomcat的話,很容易搞混。 為了便於區分,自定義tomcat命令列標題,修改如下: 主要修改的位置就一個地方: 改為你想要的名稱即可。 另外若想要在cmd中更改標題的話,可以這樣設定, st
在windows系統下修改hosts檔案,使其可以修改
有時候我們要破解一些軟體與伺服器通訊,所以通常都需要更改Hosts檔案來達到目的,XP系統可以直接修改儲存,但是Win7系統卻提示沒有許可權去修改,那麼我們要怎樣辦呢,我們修改的是c:\windows\system32\drivers\etc下面的hosts檔案。
自己修改官方rec,使其可以刷第三方包
當然已經有第三方recovery就可以跳過此教程了哈,此教程只是將官方的recovery修改成可以刷自己製作的卡刷包 具體步驟: 1.提取官方的recovery,具體方法自己找以下積分達30以上才可見 ,50天后自動去隱藏2.解壓下載到的檔案:http://pan.bai
騰訊雲centos服務器修改/etc/hosts,使其重啟不失效
添加 發現 with zed 還原 -h centos服務 lac local 騰訊雲centos服務器修改/etc/hosts,使其重啟不失效 使用騰訊雲的服務器,我修改了/etc/hosts文件,然後操作了一下重啟操作後,一打開/etc/hosts文件便如以下: #
如何修改Linux開機啟動logo並使其全屏顯示?
1、製作開機啟動logo的圖片(my_image.png ==> logo_linux_clut224.ppm),要求圖片的解析度要和螢幕大小一致。 使用如下命令: pngtopnm m
findbug的錯誤型別及修改建議
分配了findbug修正的任務,以下是自己findbug中錯誤型別的整理。 ME_ENUM_FIELD_SETTER 將方法改成private或者是移除 ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 描述:Write
WebAPI圖片批量上傳+修改圖片名稱
前言: 這幾天在做一個圖片上傳的API,在網上找了很多資料,也學到了很多東西,最近剛接觸WebAPI,好多東西都看不懂。 還停留在webfrom的概念, 哈哈 其實webfrom也沒學好,廢話不多說了,先看程式碼。 public async Task<HttpResp
過載copyProperties,使其支援Map型別
最近,專案組要用到一個功能,就是用BeanUtils.copyProperties複製一個Map裡的屬性值到另外一個物件。 BeanUtils和PropertyUtils類是許多開源框架中頻繁使用的兩個工具,它們都能實現將一個類中的屬性拷貝到另一個類中,這個功
修改WP安裝路徑及資料庫名稱
這幾天把WP由2.3.2升級到了2.5,效能上還是有些許的提升的,而且操作更加順手了,越來越喜歡這個小巧卻強大的程式了! 不過,原來的WP安裝路徑為G:/pub/html,資料庫名稱為html,現在想把它們改成G:/pub/blog和blog。結果花了我一點時間。 首
Access中欄位型別及修改欄位型別的SQL語句
Access中的資料型別 Access中有10中資料型別:文字、備註、數值、日期/時間、貨幣、自動編號、是/否、OLE物件、超級連結、查詢嚮導。 1、文字(Text(n)):這種型別允許最大255個字元或數字,Access預設的大小是50個字元,而且系統只儲存輸入到欄位中的字元,而不儲存文字欄位中未用位置
Oracle修改欄位型別、註釋、欄位名稱
有一個表名為tb,欄位段名為name,資料型別nchar(20)。 1、假設欄位資料為空,則不管改為什麼欄位型別,可以直接執行: alter table tb modify (name nvarchar2(20)); Oracle資料庫中 comment (註釋) 修改方法
修改(python) mysql 資料庫 使其可以支援插入中文
先建立一個數據庫,名字叫xsk #!/usr/bin/python # -*- coding:utf-8 -*- import MySQLdb # 開啟資料庫連線(本機,使用者,密碼,資料庫名) d