【问题标题】:Check if function exists from external file in Python检查Python中的外部文件是否存在函数
【发布时间】:2020-02-27 08:40:00
【问题描述】:

目前我有一个文件 file1.py,其中包含以下变量 name_functions=['a','b','c']

我想从 file1.py 检查外部文件 file2.py 是否有功能a,b,c。重要的是要强调在 file2.py 中没有为任何特定类定义此类函数。第二个文件 (file2.py) 只是一个 python 文件,其中定义了一系列旨在从 运行的多个函数file1.py 有什么方法可以检查我的列表中是否存在功能?如果是这样,它们是否必须运行,或者是否有办法仅验证它们是否在 file2.py 中定义?

提前致谢!

【问题讨论】:

    标签: python-2.7 function python-import


    【解决方案1】:

    第一个文件:

    with open('file2.py', 'r') as content_file:
        content = content_file.read()
        print (content)
    content_file.close()
    identifier = "name_functions=['a','b','c']"
    if identifier in content: print ("true")
    else: print ("false")
    

    如果第二个文件需要定义:

    name_functions=['a','b','c']
    

    第一个文件的输出是:

    name_functions=['a','b','c']
    true
    

    如果第二个文件没有正确的定义:

    name_functions=['a','b']
    

    第一个文件的输出是:

    name_functions=['a','b']
    false
    

    无论您打算在第二个文件中是否有正确定义的情况下执行哪些操作,您都可以使用 if 语句来执行此操作。

    【讨论】:

    • 我对您的回答有疑问。在我看来,您正在做的是在 read() 生成的列表中查找列表 name_functions 中的字符串之间的匹配。这可能会产生误导,因为它可能是一个名为“a”的变量,而不是一个函数。另外,您能否更详细地向我解释一下如何从第一个文件中运行一个函数(如果该文件存在)?
    猜你喜欢
    • 1970-01-01
    • 2013-04-22
    • 2016-06-23
    • 2011-02-24
    • 2012-10-31
    • 2011-12-08
    • 2023-04-04
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多