所以我尝试过使用shutil.copy和os.remove,并且在运行时我一直收到错误。有什么建议?我试图让它通过一个文件夹" Downloads"并按类型将所有文件排序到单独的文件夹中。
#!/bin/python
import os, shutil
path = raw_input("Enter your folder you would like sorted: ")
def searchFolder(path):
if os.path.exists(path):
dirList = os.listdir(path)
for filename in dirList:
if filename.endswith(".jpg") or filename.endswith(".raw") or filename.endswith(".dng") or filename.endswith(".psd"):
if not os.path.exists(path + "Photos"):
os.makedirs(path + "Photos")
os.rename(path + filename, path + "Photos/" + filename)
elif ".docx" in filename or ".doc" in filename:
if not os.path.exists(path + "Word Docs"):
os.makedirs(path + "Word Docs")
os.renames(path + filename, path + "Word Docs/" + filename)
elif ".pptx" in filename:
if not os.path.exists(path + "Powerpoints"):
os.makedirs(path + "Powerpoints")
os.renames(path + filename, path + "Powerpoints/" + filename)
elif ".zip" in filename:
if not os.path.exists(path + "Zip Files"):
os.makedirs(path + "Zip Files")
os.renames(path + filename, path + "Zip Files/" + filename)
elif ".dmg" in filename:
if not os.path.exists(path + "Disk Images"):
os.makedirs(path + "Disk Images")
os.renames(path + filename, path + "Disk Images/" + filename)
elif ".mp3" in filename:
if not os.path.exists(path + "Music"):
os.makedirs(path + "Music")
os.renames(path + filename, path + "Music/" + filename)
elif ".pdf" in filename:
if not os.path.exists(path + "Pdf"):
os.makedirs(path + "Pdf")
os.renames(path + filename, path + "Pdf/" + filename)
elif ".cpp" in filename:
if not os.path.exists(path + "C++"):
os.makedirs(path + "C++")
os.renames(path + filename, path + "C++/" + filename)
elif ".psd" in filename:
if not os.path.exists(path + "Photoshop"):
os.makedirs(path + "Photoshop")
os.renames(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:
if not os.path.exists(path + "Folders"):
os.makedirs(path + "Folders")
os.renames(path + filename, path + "Folders/" + filename)
else:
if not os.path.exists(path + "Other"):
os.makedirs(path + "Other")
os.rename(path + filename, path + "Other/" + filename)
print "Sorting Complete"
else:
print "Folder Does not exist"
searchFolder(path)
答案 0 :(得分:0)
第7~9行可能来自其他一些卡通片。 : - )
这是你的代码pythonified,你可能会更容易发现错误。
import os
def searchFolder(path):
for filename in os.listdir(path):
for ext, category in {('.jpg', '.raw'): 'Photos',
('.doc', '.docx'): 'Word Docs',
'.pptx': 'Powerpoints',
'.zip': 'Zip Files',
'.dmg': 'Disk Images',
'.mp3': 'Music',
'.pdf': 'Pdf',
'.cpp': 'C++',
'.psd': 'Photoshop',
'.dng': 'Photos/Raw Photos'}.items():
if filename.endswith(ext): break
else: category = 'Other' if '.' in filename else 'Folders'
os.renames(path + filename, path + category + '/' + filename)
searchFolder(input("Enter your folder you would like sorted: "))