代码如下:
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行长)。我不知道我哪里出错了。
答案 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
语句