学习 Python 的艰难方式练习 23.



在此处输入图像描述您好。我是一个完全的初学者,所以对于你们中的许多人来说,这可能是一个愚蠢的问题,但仍然...... 我在终端(powershell(上运行第 23 次练习中的第 23 次练习中的代码时遇到问题

from sys import argv
script, econding, error = argv

def main(language_file, encoding, errors):
line = language_file.readline()
if line:
print_line(line, encoding, errors)
return main(language_file, encoding, errors)

def print_line(line, encoding, errors):
next_lang = line.strip()
raw_bytes = next_lang.encode(encoding, errors=errors)
cooked_string = raw_bytes.decode(encoding, errors=errors)
print(raw_bytes, "<====>", cooked_string)
languages = open("languages.txt", encoding = "utf-16")
main(languages, encoding, error)

这就是我在Powershell上得到的

python ex23.py utf-16 strict
Traceback (most recent call last):
File "ex23.py", line 22, in <module>
main(languages, encoding, error)
NameError: name 'encoding' is not defined

但我看不出如何定义模块编码。

提前感谢!

错误消息告诉您,您尚未定义encoding(即编译器不知道encoding指的是什么(。在这种情况下,这是因为您在这一行中有拼写错误:

script, econding, error = argv

应该encoding而不是econding.

最新更新