Python: How to resolve IndentationError
My IndentationError just seems so irresolvable. http://pastebin.com/AFdnYcRc.
#!/usr/bin/env python
import os
import glob
import shutil
import mutagen
from sys import exit
musicdir = raw_input("What directory are the music files located in? : ")
musfile = glob.glob(musicdir + '/' + "*.mp3")
musfile1 = glob.glob(musicdir + '/' + "*.flac")
musfile.extend(musfile1)
newmusicdir = raw_input("What directory should the music files be organized into? : ")
done = False
while not done:
for m in musfile:
if musfile:
try:
musta = mutagen.File(m, easy=True)
mar = str(musta['artist'][0])
mal = str(musta['album'][0])
mti = str(musta['title'][0])
mtr = str(must开发者_Go百科a['tracknumber'][0])
os.makedirs(newmusicdir + '/' + mar + '/' + mal + '/')
except OSError:
pass
finally:
try:
if m.endswith('.mp3'):
os.rename(m,mtr + ' - ' + mar + ' - ' + mti + '.mp3')
m =mtr + ' - ' + mar + ' - ' + mti + '.mp3'
shutil.move(m,newmusicdir + '/' + mar + '/' + mal + '/')
elif m.endswith('.flac'):
os.rename(m,mtr + ' - ' + mar + ' - ' + mti + '.flac')
m = mtr + ' - ' + mar + ' - ' + mti + '.flac'
shutil.move(m,newmusicdir + '/' + mar + '/' + mal + '/')
elif not musfile:
print "Looks like we're done here. Please press <enter> to exit"
raw_input()
sys.exit(0)
You have a try
block (starting on line 30) with no except
I don't see an except
block for your second try
. That should break it, but I don't think it gives you a IndendationError
so you might have more problems.
Have you ever looked at pep8 ( link ) it automatically checks your code for errors.
test.py:12:80: E501 line too long (86 characters)
test.py:18:1: W191 indentation contains tabs
test.py:32:18: E231 missing whitespace after ','
test.py:33:10: E225 missing whitespace around operator
test.py:42:16: W292 no newline at end of file
The likely cause is mixed tab characters and space characters. You should be using all of one or the other everywhere. Configure your editor to do so. The recommended setting is 4-space indents. For vim, this would be set ts=4 sw=4 expandtab
.
Posting your error in your question would make this less likely to be downvoted, instead of asking people to grab your code and run it themselves...
As @Mu Mind said, you also have a try
block with no except
or finally
clause. Since you haven't posted your error, I can't be sure, but I bet if you read it it will say something line "Unexpected de-indent at line 39...", or similar. Either remove that try
or add exception handling.
精彩评论