TypeError: 'encoding' is an invalid keyword argument for this function 错误类型:对于此函数,'encoding' 是一个无效的关键字参数。

7 浏览
0 Comments

TypeError: 'encoding' is an invalid keyword argument for this function 错误类型:对于此函数,'encoding' 是一个无效的关键字参数。

我的Python程序在打开文本文件时出了问题。当我使用基本的打开文件进行读取时,出现了ASCII错误。有人帮我添加了一个在Idle中很好运行的编码参数,但是当我通过终端运行程序时,出现了这个错误消息:“TypeError: 'encoding'是此函数的无效关键字参数”。我该如何读取这个文本文件以使用它的数据?

try:
    import tkinter as tk
    from tkinter import *
except:
    import Tkinter as tk
    from Tkinter import *
import time
import sys
import os
import random
flashcards = {}
def Flashcards(key, trans, PoS):
    if not key in flashcards:
        flashcards[key] = [[trans], [PoS]]
    else:
        x = []
        for item in flashcards[key][0]:
            x.append(item)
        x.append(trans)
        flashcards[key][0] = x
        x = []
        for item in flashcards[key][1]:
            x.append(item)
        x.append(PoS)
        flashcards[key][1] = x
def ImportGaeilge():
    flashcards = {}
    with open('gaeilge_flashcard_mode.txt','r', encoding='utf8') as file:
        for line in file:
            line1 = line.rstrip().split("=")
            key = line1[0]
            trans = line1[1]
            PoS = line1[2]
            Flashcards(key, trans, PoS)
def Gaeilge():
    numberCorrect = 0
    totalCards = 0
    ImportGaeilge()
    wrongCards = {}
    x = input('按下“回车”开始。(输入“quit”退出)')
    while x != quit:
        os.system('cls')
        time.sleep(1.3)
        card = flashcards.popitem()
        if card == "":
## 错误的卡片
            print ("第一套卡片完成。")
            Gaeilge()
        print("\n\n")
        print(str(card[0])+":")
        x = input("\t:")
        if x == 'quit':
            break
        else:
            right = False
            for item in card[1]:
                if x == card[1]:
                    right = True
                    print("\n正确!")
                    numberCorrect += 1
            if right == False:
                print(card[0])
        totalCards += 1
        print("正确答案:", str(numberCorrect) +"/"+str(totalCards))
Gaeilge()

gaeilge_flashcard_mode.txt:

I=mé=(代词)(强调)
I=mise=(不适用)
you=tú=(代词)(主语)
you=tusa=(强调)
y'all=sibh=(复数)
y'all=sibhse=(强调)
he=sé=(代词)
he=é=(不适用)
he=seisean=(强调)
he=eisean=(不适用)
she=sí=(代词)
she=í=(不适用)
she=sise=(强调)
she=ise=(强调)
him=é=(代词)
him=eisean=(强调)
her=í=(代词)
her=ise=(强调)
her=a=(形容词)

0