我希望我的函数返回编码。用户应该导入它。但是,如果用户按Enter键,则该函数应将windows-1250作为默认编码返回。
当我运行此代码时出现错误:
如果enc =='': ^ IndentationError:意外缩进
def encoding_code(prompt):
"""
Asks for an encoding,
throws an error if not valid encoding.
Empty string is by default windows-1250.
Returns encoding.
"""
while True:
enc = raw_input(prompt)
if enc == '':
enc = 'windows-1250'
try:
tmp = ''.decode(enc) # Just to throw an error if not correct
except:
print('Wrong input. Try again.')
continue
break
return enc
答案 0 :(得分:3)
您正在混合制表符和空格
之前如果您使用了一个空格和两个标签
在python中你不应该混合标签和空格你应该使用标签或空格
您可以使用python -tt script.py
大多数python开发人员更喜欢space to tab
答案 1 :(得分:1)
Python通常要求您在代码中具有相同级别的缩进(通常是4个空格的倍数,这与单个制表符基本相同)。
def encoding_code(prompt):
"""
Asks for an encoding,
throws an error if not valid encoding.
Empty string is by default windows-1250.
Returns encoding.
"""
while True:
enc = raw_input(prompt)
if enc == '':
enc = 'windows-1250'
try:
tmp = ''.decode(enc) # Just to throw an error if not correct
except:
print('Wrong input. Try again.')
continue
break
return enc