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 test.py -bin 10”来运行程序
如果我想在另一个python脚本中import test
并在另一个脚本中使用函数nearbin(bin)
,我该怎么做?
答案 0 :(得分:3)
我通常的做法:
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)
)进行调用。
答案 1 :(得分: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)