首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式运行带有参数的python

以编程方式运行带有参数的python
EN

Stack Overflow用户
提问于 2022-09-27 15:58:40
回答 1查看 23关注 0票数 0

你好,我有一段代码,类似于这个root/main.py

代码语言:javascript
复制
def main():
    parser = argparse.ArgumentParser(prog="my prog")
    parser.add_argument('--param-1')
    parser.add_argument('--param-2')
    parser_result, unknown = parser.parse_known_args()
    ...(do stuff with params) 

if __name__ == '__main__':
    main()

root/folder1/folder2/util.py

代码语言:javascript
复制
sys.path.append(os.path.dirname(os.path.realpath(__file__)) + "/../../../")
import main
...
main.main(param1, param2) //errors here for wrong arguments

我的问题是如何用params触发我的main,有一种方法可以使用java类似反射来触发和读取我的主参数中的正确内容?(理想情况下,我需要尽可能少的主变化)

还使用和使用:

代码语言:javascript
复制
os.system("python /root/main.py --param-1 '{param1}' --param-2'{param2}'")

但我更喜欢的解决方案是保持相同的上下文,更干净。

EN

回答 1

Stack Overflow用户

发布于 2022-09-27 16:02:23

可能有一种方法可以做到这一点,但最简单的方法是向main添加默认参数:

main.py

代码语言:javascript
复制
def main(param1="anything", param2="anything"):
    # do something with parameters
if __name__ == "__main__":
    main()

util.py

代码语言:javascript
复制
import main
main.main(param1, param2)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73870515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档