摘要:計劃是把第二級文件夾的名字縮短,這樣以后搜索書名的時候還可以檢索到相應的書目。一些作者下面可能會有多本書,所以再一次遍歷得到二級文件夾目錄這里縮短二級文件夾的名字,取前個字符。這段代碼是通用的,可以直接放到任何地方檢查文件數。
在學校時,從六維空間下載了一些電子書,文學類全英文mobi格式的,有24G多。放在硬盤有段時間了,比較占地方,想移到移動硬盤里去。文件的目錄格式如下:
第一級目錄是按作者名排序的文件夾,第二級目錄是以書的名字命名的文件夾,第三級就是書了。
講道理的話我直接剪切,粘貼就結束了,可是,偏偏就出問題了,粘貼的時候提示我文件名太長,不能粘貼。然后就搜索了一下,Windows文件的路徑最長為255字符,這里由于書名和第二級文件夾目錄名字較長,超過了限制,導致無法復制過去。
所以才有了這篇文章。
計劃是把第二級文件夾的名字縮短,這樣以后搜索書名的時候還可以檢索到相應的書目。
下面直接上代碼了,代碼寫的很糙,看下思路就行了。
import os dir = os.getcwd() #獲取當前目錄 subdir = os.listdir(dir) #遍歷當前目錄下所有文件,也就是獲取第一級作者名字所有文件夾 for i in subdir: path = os.path.join(dir,i) #把第一級目錄添加到路徑中 if os.path.isdir(path): #如果path仍然是文件夾,下面就繼續遍歷出其中的文件, end_dir = os.listdir(path) #實際上這步判斷可以不要的,因為我知道目錄結構。 for i in range(len(end_dir)): #一些作者下面可能會有多本書,所以再一次遍歷得到二級文件夾目錄 newname = end_dir[i][0:50] #這里縮短二級文件夾的名字,取前50個字符。 os.rename(os.path.join(path,end_dir[i]),os.path.join(path,newname)) #用新名字取代舊名字
到這里,名字就改完了,我順利的把文件移到了硬盤。
然后呢,我在想,24G,有多少本書呢,那么問題來了,
代碼很糙,湊合看吧,上代碼。這段代碼是通用的,可以直接放到任何地方檢查文件數。
import os result = [] def get_all(cwd): get_dir = os.listdir(cwd) #遍歷當前目錄,獲取文件列表 for i in get_dir: sub_dir = os.path.join(cwd,i) # 把第一步獲取的文件加入路徑 if os.path.isdir(sub_dir): #如果當前仍然是文件夾,遞歸調用 get_all(sub_dir) else: ax = os.path.basename(sub_dir) #如果當前路徑不是文件夾,則把文件名放入列表 result.append(ax) print(len(result)) #對列表計數 if __name__ == "__main__": cur_path = os.getcwd() #當前目錄 get_all(cur_path)
最后,運行后得到結果15108,然后可以結合上篇文章,把書名導入到Excel表中,方便查詢。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37981.html
在我們要寄出去許多快遞包裹時,為了能及時溝通物流詳情,要迅速將物流單號分離出來。這時候用手動式去鑒別確實太麻煩了,因此本文用Python完成簡單鑒別數百個物流單號,所需的可以了解一下 小伙伴們好,我是大五 這也是Python改變未來系列第三篇,是一個和你們相關的難題實例。 前情提要 掌握我的好朋友很有可能都清楚,阿浩常給大伙兒送書。近一年,算不上協同抽獎活動送書,獨立我自買+出版社出版...
摘要:使用批量處理工作簿和工作表批量新建并保存工作簿批量打開一個文件夾中的打開工作簿批量重命名一個工作簿的所有工作表批量重命名多個工作簿批量重命名多個工作簿中的同名工作表將一個工作簿的所有工作表批量復制到其他工作簿按條件將一 ...
摘要:前言近日由于種種原因,需要把代碼里面的類全部都修改一遍類名。并且在給類文件重命名的時,需要注意前綴和后綴添加的位置,不要添加到和后面去了即可。 前言 近日由于種種原因,需要把代碼里面的類全部都修改一遍類名。 在網上找了一圈相關的開源庫,沒有發現有合適滿意的,始終都存在一些問題,要么出現誤修改,要么把方法名或者屬性名也給修改了等等情況。 于是決定掏出生疏的Python來寫一個。 批量修改...
閱讀 1351·2023-04-26 00:35
閱讀 2721·2023-04-25 18:32
閱讀 3368·2021-11-24 11:14
閱讀 778·2021-11-22 15:24
閱讀 1424·2021-11-18 10:07
閱讀 6511·2021-09-22 10:57
閱讀 2780·2021-09-07 09:58
閱讀 3570·2019-08-30 15:54