Python: 当导入的模块有同名函数时调用本地函数
Python: Calling local function when an imported module has a function with same name
我已将文件 common.py
导入到 copyPasteAnywhereTest.py
文件中。 common.py
中定义了一些我需要在当前文件中调用的常用函数,即。 copyPasteAnywhereTest.py
。但是我在两个文件中都定义了一个特定的函数 copyText()
。默认情况下,正在调用 common.py
中的 copyText()
。我想调用我在本地定义的函数,而不是我在导入文件中定义的函数。代码如下所示:
这是一个文件common.py
#common.py
def copyText():
#Function definition
#Some more functions defined in this file.
这是脚本文件copyPasteAnywhereTest.py
#copyPasteAnywhereTest.py
import os
import sys
sys.path.append(os.path.abspath("../z_common/"))
import common
def main():
#some code
copyText() #Calling the copyText() function
def copyText():
#Code here.
无论我是使用 import common
还是 from common import functionName
导入,都会调用 common.py
中的 copyText()
最简单的解决方案是在 copyPasteAnywhereTest.py
中更改 copyText()
的名称并调用相同的名称。但我想知道正确的解决方案,而不是解决方法。
需要说明的是,在使用 from module import function
语法之前,我什至没有在 copyPasteAnywhereTest.py
(即 from common import copyText
)中导入 copyText()
函数。我刚刚使用 from common import *functionName*
.
导入了所需的函数
P.S。 - 我对 Python 很陌生。如果这个问题很愚蠢,请不要介意。我试过在互联网上进行谷歌搜索和搜索,但找不到答案。因此,问题。
而不是像这样导入:
from common import copyText
做
import common
并在您的代码中使用模块名称和一个点作为前缀:
result = common.copyText()
通过仅导入模块并使用点分符号引用其内容,您可以防止模块命名空间中的这些名称冲突。
我已将文件 common.py
导入到 copyPasteAnywhereTest.py
文件中。 common.py
中定义了一些我需要在当前文件中调用的常用函数,即。 copyPasteAnywhereTest.py
。但是我在两个文件中都定义了一个特定的函数 copyText()
。默认情况下,正在调用 common.py
中的 copyText()
。我想调用我在本地定义的函数,而不是我在导入文件中定义的函数。代码如下所示:
这是一个文件common.py
#common.py
def copyText():
#Function definition
#Some more functions defined in this file.
这是脚本文件copyPasteAnywhereTest.py
#copyPasteAnywhereTest.py
import os
import sys
sys.path.append(os.path.abspath("../z_common/"))
import common
def main():
#some code
copyText() #Calling the copyText() function
def copyText():
#Code here.
无论我是使用 import common
还是 from common import functionName
导入,都会调用 common.py
中的 copyText()
最简单的解决方案是在 copyPasteAnywhereTest.py
中更改 copyText()
的名称并调用相同的名称。但我想知道正确的解决方案,而不是解决方法。
需要说明的是,在使用 from module import function
语法之前,我什至没有在 copyPasteAnywhereTest.py
(即 from common import copyText
)中导入 copyText()
函数。我刚刚使用 from common import *functionName*
.
P.S。 - 我对 Python 很陌生。如果这个问题很愚蠢,请不要介意。我试过在互联网上进行谷歌搜索和搜索,但找不到答案。因此,问题。
而不是像这样导入:
from common import copyText
做
import common
并在您的代码中使用模块名称和一个点作为前缀:
result = common.copyText()
通过仅导入模块并使用点分符号引用其内容,您可以防止模块命名空间中的这些名称冲突。