我的代码在编码错误时出现问题:
文件“test.py”,第1行
SyntaxError:编码问题:带BOM
我附上了以下代码。是否有任何明确的想法来解决它?输入和输出文件包含韩语单词,数字和英文字符。
我尝试在Mac和Windows中运行此代码,它在两个操作系统上都不起作用。请帮帮我!
# coding: uft-8
from __future__ import print_function
from __future__ import unicode_literals
import os, sys
import codecs
import re
import subprocess, shlex
REGEXP = re.compile(r'(\w+)/(\(.*?\))')
def main():
words = {}
with codecs.open('E:\\mach.txt', 'r', encoding='cp949') as fp:
for line in fp:
for item, category in REGEXP.findall(line):
words.setdefault(category, {}).setdefault(item, 0)
words[category][item] += 1
with codecs.open('result.txt', 'w', encoding='cp949') as fp:
for category, words in sorted(words.items()):
print(category, file=fp)
for word, count in words.items():
print(word, count, sep=' ', file=fp)
print(file=fp)
return 0
if __name__ == '__main__':
raise SystemExit(main())
答案 0 :(得分:4)
你在第一行拼错了UTF-8。由于您在代码中只使用了ASCII字符,因此甚至不需要编码行。
答案 1 :(得分:2)
问题不在于代码,而在于脚本本身的编码。尝试使用其他编辑器保存它。 Windows上的记事本适用于我。