不存在的行上的Python缩进错误

-1 python

代码如下:

import glob
import os
import shutil

for file_path in glob.glob(os.path.join(folder, '*Tomo*_[1-100]_*')):
    new_dir = file_path.rsplit('.', 1)[0]
    try:
      os.mkdir(os.path.join(folder, new_dir))
#shutil.move(file_path,os.path.join(new_dir,os.path.basename(file_path)))
Run Code Online (Sandbox Code Playgroud)

shutil命令当前已被注释掉,因为这导致语法错误,我不知道为什么.但是当试图运行它时,我在第10行得到一个缩进错误(代码是9行长).我不知道我哪里出错了.

Net*_*ave 6

你刚忘了这个except条款:

import glob
import os
import shutil

for file_path in glob.glob(os.path.join(folder, '*Tomo*_[1-100]_*')):
    new_dir = file_path.rsplit('.', 1)[0]
    try:
      os.mkdir(os.path.join(folder, new_dir))
    except Exception as e:
        pass
shutil.move(file_path,os.path.join(new_dir,os.path.basename(file_path)))
Run Code Online (Sandbox Code Playgroud)

编辑:作为同义词点,只是捕捉不是一个好主意Exception,为你的工作使用更好的异常处理程序(在这种情况下可能FileExistsError).

  • 全能异常几乎总是一个坏主意,例如在这里它也会使NameErrors静音(例如,如果一个变量拼写错误)或权限错误.最好只捕获一个真正想要捕获的异常,所以这里可能是FileExistsError. (3认同)