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

时间:2017-03-09 11:25:16

标签: 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)))

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

3 个答案:

答案 0 :(得分: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)))

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

答案 1 :(得分:0)

try语句后面会有except语句。

您可以更改代码:

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:
        print "Error joining path"
        # or simply
        pass

答案 2 :(得分:0)

Python期待except

中的line 10语句