当只有一个print()函数时,Python会打印两次

当只有一个print()函数时,Python会打印两次,python,python-3.x,Python,Python 3.x,我想知道为什么我的代码打印两个相同的输出,即使我只打印了一次 我试着在Python3中使用PythonDocx和readDocx模块来阅读和编辑.docx文件,这本书来自Al Sweigart的《用python自动化无聊的东西》 demo.docx包含以下6行简单文本: 文件标题 带有粗体和斜体的简单段落 标题,第1级 激烈的引用 无序列表中的第一项 有序列表中的第一项 输出: Document Title A plain paragraph with some bold and some i

我想知道为什么我的代码打印两个相同的输出,即使我只打印了一次

我试着在Python3中使用PythonDocx和readDocx模块来阅读和编辑.docx文件,这本书来自Al Sweigart的《用python自动化无聊的东西》

demo.docx包含以下6行简单文本:

  • 文件标题
  • 带有粗体和斜体的简单段落
  • 标题,第1级
  • 激烈的引用
  • 无序列表中的第一项
  • 有序列表中的第一项

  • 输出:

    Document Title
    A plain paragraph with some bold and some italic
    Heading, level 1
    Intense quote
    first item in unordered list
    first item in ordered list
    
    
    Document Title
    A plain paragraph with some bold and some italic
    Heading, level 1
    Intense quote
    first item in unordered list
    first item in ordered list
    
    这个文件出现了,


    我删除了这个文件,当重新运行程序时,它会在文件夹名pycache

    中再次创建。我不熟悉docx或readDocx导入,但正如Patrick在评论中提到的,您有一个与打印行中调用的名称相同的定义

    即: 您已经定义了getText(),但随后将其作为readDocx下的函数使用

    readDocx的库中有getText吗?
    尝试将getText定义的名称更改为其他名称,并尝试使用其他文档查看是否得到相同的结果。

    正如我在评论中提到的,您似乎正在导入正在执行的模块。 中的代码示例(中间的某个地方)看起来与getText()函数完全相同,并且提到要保存到文件readDocx.py中

    导入时,将执行导入模块中的所有代码。导入行已执行您的文件,包括print()


    请在导入语句中不使用Read Dox,并考虑熟悉上述代码< >什么是导入readDocx,为什么要发布相同的命名函数但不使用它?请将您的代码更改为a。文档中的内容是什么,您得到的输出是什么?假设您的问题中的模块是您在第2行中导入的readDocx:不要导入它;只使用<代码>打印(GETTeX(DeM.Dox))和考虑将您的打印功能放入<代码>您尚未对上述答案中的问题和建议作出反应。我们需要知道正在运行的是您的getText还是其他东西。换句话说,模块导入本身既混乱又不必要。哦!我的缺点是,我得到了解决方案,我想的太复杂了,尝试了不同的方法,而这些方法都是不必要的,因为它们非常简单和容易。很抱歉所有的错误沟通和误导问题本身。

    Document Title
    A plain paragraph with some bold and some italic
    Heading, level 1
    Intense quote
    first item in unordered list
    first item in ordered list
    
    
    Document Title
    A plain paragraph with some bold and some italic
    Heading, level 1
    Intense quote
    first item in unordered list
    first item in ordered list