Python應用例項

2021-06-14 10:04:49 字數 2956 閱讀 7588

學了python一段時間,想用這門指令碼語言寫乙個指令碼,用來處理桌面檔案的整理,設計思路及相關資料鏈結整理如下:

1.讀取windows系統登錄檔檔案,獲得相關桌面的位址--(

2.獲取桌面位址下的檔案及資料夾的名稱,及檔案屬性--(

3.獲取各檔案的副檔名--(

4.獲取各檔案的修改時間--(

5.根據副檔名對各檔案進行歸類,包括新建資料夾操作,移動檔案操作--(

2013.5.20

onekeydesktop.py

#步驟一,由登錄檔獲取桌面位址

import winreg

def getdesktoppath():

key = winreg.openkey(winreg.hkey_current_user,

r"software\microsoft\windows\currentversion\explorer\shell folders")

return(winreg.queryvalueex(key, "desktop")[0])

def getotherdesktoppath():

key = winreg.openkey(winreg.hkey_current_user,

r"software\microsoft\windows\currentversion\explorer\user shell folders")

return(winreg.queryvalueex(key, "desktop")[0])

#步驟二,獲取桌面檔案及資料夾名稱列表

import os

def getfolderandfilename(desktoppath):

folder_file = {}

for d, fd, fl in os.walk(desktoppath):

folder_file =

return(folder_file)

#步驟三,獲取副檔名,並返回分類字典

def findsametypefile(files):

file_type =

file_dic = {}

for each_file in files:

temp_type = each_file.split('.')[-1]

if not temp_type in file_type:

file_dic[temp_type] = [each_file]

else:

return(file_dic)

#步驟四,獲取檔案修改時間,並返回分類字典

import time#and os

def getfilemtime(file):

modify_time = time.localtime(os.path.getctime(file))

return(str(modify_time.tm_year) + '-' +

str(modify_time.tm_mon))

def findsametimefile(file_path_head,files):

modify_time =

file_dic = {}

for each_file in files:

temp_time = getfilemtime(file_path_head + '\\' + each_file)

if not temp_time in modify_time:

file_dic[temp_time] = [each_file]

else:

return(file_dic)

#步驟五,根據分類字典,建立資料夾並將相關檔案歸類

import shutil

def organizefile(file_path_head, file_dic):

for each_key in file_dic.keys():

filepath_new = file_path_head + '\\' + each_key + '\\'

if not os.path.exists(filepath_new):

os.mkdir(filepath_new)

for each_file in file_dic[each_key]:

shutil.move(file_path_head + '\\' + each_file, filepath_new)

main.py

import onekeydesktop

desktop = onekeydesktop.getdesktoppath()

files = onekeydesktop.getfolderandfilename(desktop)['files']

file_dic_type = onekeydesktop.findsametypefile(files)

file_dic_time = onekeydesktop.findsametimefile(desktop, files)

onekeydesktop.organizefile(desktop, file_dic_type)

目前執行main.py後,可以使得桌面按照檔案型別歸類成相關資料夾,完成一開始預期的「一鍵桌面清理的目標」,包括一堆的快捷方式,及各種檔案,特別適合我這種很久都懶得清理桌面的人,呵呵

可以繼續改進的部分:

1.檔案型別歸類後,根據修改時間,對同一天的檔案再歸類,函式已寫出,但是沒有在main.py中實現

2.windows桌面路徑除了當前使用者桌面外,還包括公用桌面,部分程式的快捷方式會被放在公用桌面,但讀取的路徑為相對路徑,包含環境變數,如%userprofile%之類,考慮用正規表示式來處理,下篇博文就寫關於正規表示式~

python中的字典應用例項

字典中的鍵使用時必須滿足一下兩個條件 1 每個鍵只能對應乙個項,也就是說,一鍵對應多個值時不允許的 列表 元組和其他字典的容器物件除外 當有鍵發生衝突時 即字典鍵重複賦值 取最後的賦值。myuniversity dict traceback most recent call last file li...

應用例項 最新電工電路應用例項

電工學習網 www.diangon.com 最新電工電路應用例項 是根據最新國家職業標準,結合生產實際,以操作技能為主,以解決實際工作中的技術問題為目標而編寫的。本書的主要內容包括 照明 配電及單相電動機電路,電動機典型控制電路,電動機保護電路,工具機控制電路,穩壓電路及充電電路,電氣測量電路,pl...

mysql 應用例項 MySQL多例項應用

國內映象 2.上傳 解壓 tar xf mysql 5.6.46 linux glibc2.12 x86 64.tar.gz tar xf mysql 5.7.12 linux glibc2.12 x86 64.tar.xz tar xf mysql 8.0.18 linux glibc2.12 x...