簡體   English   中英

如何創建遞歸Python腳本對文件和文件夾進行排序?

[英]How Can I Create a Recursive Python Script to Sort Files and Folders?

因此,我制作了此腳本,以將文件夾分類為不同類型的子文件夾,並且可以正常工作! 但是現在我希望它對我告訴它排序的文件夾中的文件夾進行排序。 我嘗試了遞歸,但是沒有用? 我的語法錯誤嗎? 另外,如何將x的文件類型上移到我告訴腳本進行排序的文件夾中適當排序的文件夾中? 如果這樣的話。

這是我的代碼:

#!/bin/python
import os
path = raw_input("Enter your folder you would like sorted: ")
def searchFolders(path):
    if os.path.exists(path): 
        dirList = os.listdir(path) 
        for filename in dirList: 
            if  ".jpg" in filename:
                if not os.path.exists(path + "Photos"):
                    os.makedirs(path + "Photos")
                os.rename(path + filename, path + "Photos/" + filename)
            elif ".pptx" in filename:
                if not os.path.exists(path + "Powerpoints"):
                    os.makedirs(path + "Powerpoints")
                os.rename(path + filename, path + "Powerpoints/" + filename)
            elif ".zip" in filename:
                if not os.path.exists(path + "Zip Files"):
                    os.makedirs(path + "Zip Files")
                os.rename(path + filename, path + "Zip Files/" + filename)
            elif ".dmg" in filename:
                if not os.path.exists(path + "Disk Images"):
                    os.makedirs(path + "Disk Images")
                os.rename(path + filename, path + "Disk Images/" + filename)
            elif ".mp3" in filename:
                if not os.path.exists(path + "Music"):
                    os.makedirs(path + "Music")
                os.rename(path + filename, path + "Music/" + filename)
            elif ".pdf" in filename:
                if not os.path.exists(path + "Pdf"):
                    os.makedirs(path + "Pdf")
                os.rename(path + filename, path + "Pdf/" + filename)
            elif ".cpp" in filename:
                if not os.path.exists(path + "C++"):
                    os.makedirs(path + "C++")
                os.rename(path + filename, path + "C++/" + filename)
            elif ".psd" in filename:
                if not os.path.exists(path + "Photoshop"):
                    os.makedirs(path + "Photoshop")
                os.rename(path + filename, path + "Photoshop/" + filename)
            elif ".dng" in filename:
                if not os.path.exists(path + "Photos/Raw Photos"):
                    os.makedirs(path + "Photos/Raw Photos")
                os.rename(path + filename, path + "Photos/Raw Photos/" + filename)
            elif not "." in filename:
                folderPath = path + filename
                searchFolders(folderPath)   
            else: 
                if not os.path.exists(path + "Random"):
                    os.makedirs(path + "Random")
                os.rename(path + filename, path + "Random/" + filename)

        print "Sorting Complete"
    else:
        print "Folder Does not exist"
shutil.copytree(src,dst)
shutil.rmtree(src)

應該帶你到你想要的地方...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM