目的: 把一批文件,按照后綴名新建對應(yīng)的文件夾,并移動相應(yīng)的文件到對應(yīng)的文件夾.實現(xiàn)文件的自動歸類. import shutilimport ospath = '/Users/sk/Documents/script_project2_files'files = os.listdir(path)for f in files: end = f.split('.')[-1] if not os.path.exists(path + '/'+end): os.makedirs(path + '/'+end) shutil.move(path+'/'+f, path + '/'+end) # Python筆記 1. os.listdir(path),返回path下的所有文件名 2. shutil.move(a,b) 把文件從a路徑移動到b路徑 3. os.path.exists() 判斷路徑是否存在,返回True或False4. os.makedirs() 創(chuàng)建文件夾 5. string.split() 分割字符串,返回的是一個list # 心路歷程1. path,指定路徑 2. os.listdir(path),讀出文件名 3. 條件判斷后綴名,進行分類,對不同文件創(chuàng)建文件夾,并把同一類文件移入指定文件夾. 具象化想象問題,并在腦子中模擬解決.文件自動歸類:有一堆不同后綴名的文件 1. 識別出不同后綴名的文件 2. 使用Python的某個庫將文件移動到指定文件夾 如何移動文件: 使用內(nèi)置模塊shutil.move歸類的規(guī)則: 自動創(chuàng)建文件夾,并以后綴名作為文件夾名為了測試,降低任務(wù)的復(fù)雜度,可以先手動新建文件夾并命名,只需做到移動特定文件到匹配的文件夾即可 先思考主框架,然后再逐步填充, 完善遇到的問題: 文件格式為'xxx.xx',如何取出后面的xx呢? Python的基礎(chǔ)知識不夠扎實,所以會遇到很多問題.卡在了這個問題上,沒有查到相關(guān)資料. > 問題解決string.split('.')[-1]先使用split以`.`進行分割,返回的是一個list,然后取出最后一個分段 學會一些meta的知識點,然后根據(jù)自己遇到的問題,進行組合.凡是需要靈活組合的東西,都需要深入的理解之后,才可以進行.為什么需要系統(tǒng)的學習?如果不經(jīng)過系統(tǒng)的學習,你不知道你不知道.遇到問題,你甚至不知道關(guān)鍵詞是什么,很難順利找到解決方案.通過練習熟練的應(yīng)用編程語言提供的各種工具(庫,框架),很多時候一個問題有很多種解決方法,但是要找到一個最佳的解決方法不容易.只能通過慢慢積累. 相對路徑:'./' Unix下 路徑使用`/`分割 可以使用pycharm中的console對自己不熟悉的東西進行測試 ``` >> import os >> os.path.exists('/Users') True >> os.path.exists('/Public') False ``` |
|