Python新手求助:autopep8无法解决Arda Mavi代码缩进问题
作为Python新手碰到缩进问题真的超头疼,尤其是调试别人的代码时,我完全懂你的困扰!针对你尝试了制表符转空格、IDLE缩进功能和autopep8仍未解决的情况,咱们可以从这几个方向再排查:
先排查基础语法问题:autopep8这类工具如果碰到未闭合的括号、引号,或者缺失冒号的
if/for/函数定义,会无法正常修复缩进。你可以先检查代码里每个def、if、for语句后面有没有加冒号,以及所有括号、引号是否成对闭合——这些小问题很容易导致缩进检测混乱。强制统一缩进标准:开启编辑器的「显示空白字符」功能(比如VS Code的“控制字符可见性”、Sublime Text的
View > Show White Space and Tabs),这样能直观看到哪些是制表符、哪些是空格。选中全部代码后,用编辑器的批量转换功能(比如VS Code里搜索“Convert Indentation to Spaces”,统一转成4个空格),手动替换混在一起的制表符和空格。用更智能的格式化工具:试试PyCharm的
Code > Reformat Code功能,它对复杂代码块的缩进修复比autopep8更精准;或者用black工具(执行black your_script.py),这是Python社区推荐的严格格式化工具,能强制统一所有缩进和代码格式。重新拉取原始代码:如果是下载代码时出现了格式损坏,直接重新克隆仓库代码,用支持Python语法的编辑器打开(避免用记事本这类纯文本工具),很多时候格式问题都是文件传输或打开方式导致的。
另外,你贴的部分代码里,get_img函数的正确结构应该类似原仓库里的写法,供你对照:
# Arda Mavi import os import numpy as np from keras.utils import to_categorical from scipy.misc import imread, imresize, imsave from sklearn.model_selection import train_test_split def get_img(data_path): # Getting image from data path: img = imread(data_path, mode='RGB') img = imresize(img, (64, 64)) return img
如果还是没解决,可以把Python抛出的IndentationError具体报错信息贴出来,比如提示哪一行缩进错误,这样能更精准定位问题~
内容的提问来源于stack exchange,提问作者P. Schuster

