如何执行下面的python代码uuu name_uuu=='__主&'*没有*使用'subprocess'模块?

如何执行下面的python代码uuu name_uuu=='__主&'*没有*使用'subprocess'模块?,python,Python,我有一个python脚本 ... if __name__=='__main__': parser = argparse.ArgumentParser() #code 从另一个python脚本中,我如何在不使用子流程模块的情况下执行\uuu name\uuuuuu=='\uuuuu main\uuuuu'下面的代码 [编辑]此外,我的python脚本使用argparse模块获取输入参数。在执行\uuu name\uuu部分下面的代码时,我还需要传递参数 您可能会侥幸逃脱: impor

我有一个python脚本

...
if __name__=='__main__':
   parser = argparse.ArgumentParser()
   #code
从另一个python脚本中,我如何在不使用
子流程
模块的情况下执行
\uuu name\uuuuuu=='\uuuuu main\uuuuu'
下面的代码


[编辑]此外,我的python脚本使用
argparse
模块获取输入参数。在执行
\uuu name\uuu
部分下面的代码时,我还需要传递参数

您可能会侥幸逃脱:

import sys
imp_new_module = type(sys)
new_module = imp_new_module(module_name)
new_module.__dict__['__name__'] = '__main__'
exec(open(scriptname).read(), new_module.__dict__)
但你不应该这么做…:)

(更新问题)

哦,既然你已经做到了,你也可以
导入操作系统,sys
,然后更新
sys.argv
到你想要传递的内容(例如
sys.argv=[os.path.abspath('file.py'),'--my',par'))
。。。我说过你真的不应该吗

说真的,如果您可以控制正在调用的脚本,那么您可能希望将代码放在函数中的

def main(argv):
    ... 
    parser.parse_args(argv)
    ...

if __name__ == '__main__':
    main(sys.argv)

或者更好的做法是在脚本中定义一个函数(或多个函数、对象),该函数提供了一个更适合从脚本调用的API,该脚本也可以从
\uuuuu name\uuuuu=''\uuu main\uuuu'
中根据在
sys.argv

中找到的内容从
调用,以不在该块下执行代码,通过导入从另一个
.py
文件运行此代码时。如果uuu name\uuuuu==''uuuuuu main\uuuu',请删除
谢谢。我已经更新了问题。我还需要传递参数。看来导入不起作用了?