嗨 我想提出多個新目錄的一組根目錄,每一個名爲基於名稱使基於列表中的多個目錄蟒蛇
例如名單上
表看起來是
FOLDER_1
Folder_x
Folder_y
有一個簡單的方法在Python做到這一點?
嗨 我想提出多個新目錄的一組根目錄,每一個名爲基於名稱使基於列表中的多個目錄蟒蛇
例如名單上
表看起來是
FOLDER_1
Folder_x
Folder_y
有一個簡單的方法在Python做到這一點?
os.mkdir(name_of_dir)
是你的朋友。
os.path.join結合您的根目錄和名稱,和os.mkdir來創建目錄。循環使用for容易完成。
import os
root_path = '/whatever/your/root/path/is/'
folders = ['Folder_1','Folder_x','Folder_y']
for folder in folders:
os.mkdir(os.path.join(root_path,folder))
下面是使用靈活的自定義功能來做到這一點的一種方法。請注意,它使用os.makedirs()而不是os.mkdir(),這意味着它將根據需要創建根文件夾,並允許子文件夾路徑包含中級目錄(如果需要)。
的代碼還使用functools.partial()創建一個名爲concat_path()
與內置map()功能來連接根目錄的名稱中使用與每個子文件夾的一個臨時的本地函數。然後它再次將map()
應用於該結果,這次僅將os.makedirs()
函數應用於形成的每個完整的子文件夾路徑。
import os
import functools
def makefolders(root_dir, subfolders):
concat_path = functools.partial(os.path.join, root_dir)
map(os.makedirs, map(concat_path, subfolders))
if __name__=='__main__':
root_dir = '/path/to/root/folder'
subfolders = ('Numbers/Folder_1', 'Letters/Folder_x', 'Letters/Folder_y')
makefolders(root_dir, subfolders)
這裏將由答案的代碼創建的文件夾層次:
的部分功能似乎是不必要的複雜。 – blokeley 2011-04-20 12:13:02
感謝制定出完美 – 2011-04-21 05:04:57