Python:使用命令行或imp

2024-10-02 00:24:56 发布

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

def nearbin():
    parser = argparse.ArgumentParser(description = "choose near bin")
    parser.add_argument("-bin",  type=int,action = "store", default = "10", help="bin number")   
    args = parser.parse_args()   
    bin = args.bin 
    print bin
    return f(bin)


if __name__ == "__main__":
    nearbin()        

在命令行中,我可以使用“python测试.py-10”运行程序

如果我想在另一个python脚本中使用import test,并在另一个脚本中使用函数nearbin(bin),我该怎么做?你知道吗


Tags: 脚本addparserbindeftypeargparseargs
2条回答

然后您应该分析__main__检查中的命令行参数,并将它们传递给nearbin,如下所示:

def nearbin(bin):
    print bin
    return f(bin)


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description = "choose near bin")
    parser.add_argument("-bin",  type=int,action = "store", default = "10", help="bin number")   
    args = parser.parse_args()   
    bin = args.bin 
    nearbin(bin)   

我通常的做法是:

def nearbin(bin):
    ...

def main(args):
    parser = argparse.ArgumentParser(...)
    ...
    args = parser.parse_args(args)

    nearbin(args.bin)

if __name__ == '__main__':
    sys.exit(main(sys.argv[1:]))

这使您可以支持直接命令行调用(./script.py -bin 20)、使用命令行参数调用(main("-bin 20".split()))和编程调用(nearbin(20))。你知道吗

相关问题 更多 >

    热门问题