你好,我有一段代码,类似于这个root/main.py
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
sys.path.append(os.path.dirname(os.path.realpath(__file__)) + "/../../../")
import main
...
main.main(param1, param2) //errors here for wrong arguments我的问题是如何用params触发我的main,有一种方法可以使用java类似反射来触发和读取我的主参数中的正确内容?(理想情况下,我需要尽可能少的主变化)
还使用和使用:
os.system("python /root/main.py --param-1 '{param1}' --param-2'{param2}'")但我更喜欢的解决方案是保持相同的上下文,更干净。
发布于 2022-09-27 16:02:23
可能有一种方法可以做到这一点,但最简单的方法是向main添加默认参数:
main.py
def main(param1="anything", param2="anything"):
# do something with parameters
if __name__ == "__main__":
main()util.py
import main
main.main(param1, param2)https://stackoverflow.com/questions/73870515
复制相似问题