用不同的单词替换文本文件中的单词(python)

2024-06-26 14:43:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用英语单词替换文本文件中的单词(有点像翻译)。但是,我得到了错误builtins.NameError:name'contents'没有定义。如果您需要知道,textfile是一个字符串列表(中文),用逗号分隔(我需要用英文字符串替换)

def translate():
    contents = ""
    deleteWords = ["hop", "job"]
    replaceWords = {"T波改变": "T-wave", "窦性心律不齐":"sinus arrhythmia"}

    with open("sample.txt") as diagnosis:
        contents = diagnosis.read()
    for key, value in replaceWords.iteritems():
        contents = contents.replace(key, value)
    return contents
print(contents)

Tags: key字符串name定义value错误contents单词
2条回答

在函数内声明contents,因此它的作用域是此函数,不能在函数外访问

尝试:print(translate())而不是print(contents)

contents是一个私有变量,它只在函数内部可用,函数一完成就可以循环使用。您需要调用函数并保存其值

def translate():
    contents = ""
    #deleteWords = ["hop", "job"]  # This variable is unused so commented out. Delete this line
    replaceWords = {"T波改变": "T-wave", "窦性心律不齐":"sinus arrhythmia"}

    with open("sample.txt") as diagnosis:
        contents = diagnosis.read()
    for key, value in replaceWords.iteritems():
        contents = contents.replace(key, value)
    return contents

# Here contents is a different variable with the same value
contents = translate()  # <== Added this line to make it work
print(contents)

相关问题 更多 >