微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python - 调用嵌套函数的正确方法?

如何解决Python - 调用嵌套函数的正确方法?

假设您有以下代码

def set_args():
    #Set Arguments
    parser = argparse.ArgumentParser()
    parser.add_argument("-test",help = 'test')
    return parser

def run_code():
    def fileCommand():
        print("the file type is\n")
        os.system("file " + filename).read().strip()

def main():
    parser = set_args()
    args = parser.parse_args()
    

fileCommand() 调用 def main(): 函数的最佳方法是什么?

我有以下代码当然不起作用:

def main():
    parser = set_args()
    args = parser.parse_args()
    
    #If -test,if args.test:
        filename=args.test
        fileCommand()

因此,如果您要运行 python test.py -test test.txt,它应该在其上运行 file 命令以获取文件类型

我知道如果我继续胡闹,我会以一种或另一种方式解决问题,但我通常会开始处理复杂的事情,所以以后就更难了。那么调用嵌套函数的正确方法是什么?

提前致谢!

解决方法

Python 内部函数(或嵌套函数)有很多用例,但在其中一个用例中,从外部通过嵌套函数访问是一种选择。创建嵌套函数以访问父函数变量,从父函数外部调用它与原则相冲突。

您可以从父函数调用该函数或使其成为装饰器:

从父级调用嵌套函数将是:

def run_code(filename):
    def fileCommand():
        print("the file type is\n")
        os.system("file " + filename).read().strip()
    fileCommand()

如果您详细描述了您的用例以及您想像这样运行代码的原因,我可以提供有关如何实现代码的更多详细信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。