私は、自分が書いたコードを並列プロセスに変換して、出身大学のコンピューター クラスターに配布する作業を行っています。クラスター用のスクリプトを作成する準備をするために、クラスターによって提供される Python コードのサンプル スニペットの 1 つを読むことから始めました。
#! /usr/bin/python
# This script replicates a given test with varied parameters
# creating unique submit scripts and executing the submission to the CRC SGE queue
# Imports
import os
import shutil
import string
basedir=os.getcwd()
origTestFol='wwd'
templFol='template'
origTestDir= basedir + '/' + origTestFol
templFolDir= basedir + '/' + templFol
steps=[0,1,2,3,4,5,6,7,8,9]
primes=[2,3,5,7,11,13,17,19,23,29,31]
trials=[6,7,8,9,10]
for step in steps:
newTestDir= origTestDir + '_nm_' + str(step)
if not os.path.exists(newTestDir):
os.mkdir(newTestDir)
os.chdir(newTestDir)
for trial in trials:
newTestSubDir= newTestDir + '/' + str(trial)
if not os.path.exists(newTestSubDir):
shutil.copytree(templFolDir,newTestSubDir)
os.chdir(newTestSubDir)
os.system('sed -i \'s/seedvalue/' + str(primes[trial]) + '/g\' wwd.nm.conf')
os.system('sed -i \'s/stepval/' + str(step) + '/g\' qsubScript.sh')
os.system('qsub qsubScript.sh')
os.chdir(basedir)
最後の 4 行までは [たとえば、"os.system('sed -i ...)" まで] コードをたどることはできますが、それ以降はコードをたどるのに苦労します。これらの最後の 4 行が何をしているのかを他の人が理解するのを手伝ってくれる可能性はありますか? 擬似コードで嘘を説明する方法はありますか? 私が知る限り、最初の sed 行は「seedvalue」を素数 [trial] の値に置き換えようとしていますが、seedvalue が何であるかはわかりません。また、次の行の「stepval」を理解する方法もわかりません。他の人がこれらの質問に当てることができる光は、最も高く評価されます.