From dcb74e2e5a4f5700aa4fc23dc7bf419c6d6c3b7d Mon Sep 17 00:00:00 2001 From: guanjihuan Date: Sat, 25 Feb 2023 00:56:39 +0800 Subject: [PATCH] Update parallel.py --- .../parallel.py | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/language_learning/2023.02.21_parallel_python_manually/parallel.py b/language_learning/2023.02.21_parallel_python_manually/parallel.py index 5a2405a..341a86e 100644 --- a/language_learning/2023.02.21_parallel_python_manually/parallel.py +++ b/language_learning/2023.02.21_parallel_python_manually/parallel.py @@ -6,32 +6,51 @@ The newest version of this code is on the web page: https://www.guanjihuan.com/a import os parameter_str_array = ['np.arange(1, 11, 1)', 'np.arange(11, 21, 1)'] -index = 0 +index = 0 for parameter_str in parameter_str_array: index += 1 # 以下处理代码文件 + old_file = 'a.py' + new_file = 'a'+str(index)+'.py' + # 说明:linux系统下复制用cp,windows系统下复制用copy - os.system('cp a.py a'+str(index)+'.py') # 复制python代码文件 - with open('a'+str(index)+'.py', 'r') as f: # 读取 + os.system('cp '+old_file+' '+new_file) # 复制python代码文件 + with open(new_file, 'r') as f: # 读取 content = f.read() + old_str = 'parameter_array_labeled_for_replacement = []' new_str = 'parameter_array_labeled_for_replacement = ' + parameter_str content = content.replace(old_str, new_str) + # 如果程序需要将数据写入文件,除了需要替代参数,还需要替代文件名,方法和以上相同 + with open('a'+str(index)+'.py', 'w') as f: # 写入 f.write(content) + + # 以下处理任务上传文件 - os.system('cp a.sh a'+str(index)+'.sh') # 复制任务调度系统的sh上传文件 - with open('a'+str(index)+'.sh', 'r') as f: # 读取 + old_file = 'a.sh' + new_file = 'a'+str(index)+'.sh' + + os.system('cp '+old_file+' '+new_file) # 复制任务调度系统的sh上传文件 + with open(new_file, 'r') as f: # 读取 content = f.read() + old_str = 'python a.py' new_str = 'python a'+str(index)+'.py' content = content.replace(old_str, new_str) + + old_str = 'task' + new_str = 'task_'+str(index) + content = content.replace(old_str, new_str) + with open('a'+str(index)+'.sh', 'w') as f: # 写入 f.write(content) + + # 提交任务 - os.system('qsub a'+str(index)+'.sh') \ No newline at end of file + os.system('qsub '+new_file) \ No newline at end of file