要将ABSL标志从Python脚本1传递给脚本2并避免重复,可以使用argparse模块来解析命令行参数。以下是一个示例代码:
脚本1(script1.py):
import argparse
import subprocess
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--absl_flag', action='store_true')
args = parser.parse_args()
if args.absl_flag:
subprocess.call(['python', 'script2.py', '--absl_flag'])
if __name__ == '__main__':
main()
脚本2(script2.py):
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--absl_flag', action='store_true')
args = parser.parse_args()
if args.absl_flag:
print('ABSL标志已传递到脚本2')
if __name__ == '__main__':
main()
在脚本1中,我们使用argparse模块创建了一个解析器,并添加了一个--absl_flag
选项。如果该选项被指定,则调用subprocess.call
来执行脚本2,并将--absl_flag
作为命令行参数传递给脚本2。
在脚本2中,我们同样使用argparse模块创建了一个解析器,并添加了一个--absl_flag
选项。如果该选项被指定,则打印出"ABSL标志已传递到脚本2"。
这样,你可以在脚本1中通过--absl_flag
选项将标志传递给脚本2,并在脚本2中使用该标志。