Python 缩进错误:意外的缩进

29 投票
5 回答
129391 浏览
提问于 2025-04-17 09:01

这是我的代码……我遇到了一个缩进错误,但我不知道为什么会出现这个错误。

->

# loop
while d <= end_date:
    # print d.strftime("%Y%m%d")
    fecha = d.strftime("%Y%m%d")

    # Set URL
    url = 'http://www.wpemergencia.omie.es//datosPub/marginalpdbc/marginalpdbc_' + fecha + '.1'

    # Descargamos fichero
    response = urllib2.urlopen(url)

    # Abrimos fichero
    output = open(fname,'wb')

    # Escribimos fichero
    output.write(response.read())

    # Cerramos y guardamos fichero
    output.close()

    # fecha++
    d += delta

5 个回答

8

检查一下你是不是把制表符和空格搞混了。这是导致缩进错误的常见原因。

9

Notepad++ 中找到所有的制表符,并用4个空格替换掉。这个方法有效。

50

运行你的程序时可以使用

python -t script.py

这样做会提醒你是否混用了制表符和空格。

类Unix系统上,你可以通过运行以下命令查看制表符的位置

cat -A script.py

你也可以用这个命令自动把制表符转换成4个空格

expand -t 4 script.py > fixed_script.py

附注:编程时一定要使用编程编辑器(比如EmacsVim),而不是文字处理软件。使用编程编辑器就不会遇到这个问题。

再附注:对于Emacs用户,使用M-x whitespace-mode可以在Emacs的编辑窗口中显示和cat -A一样的信息!

撰写回答