Python 如何在linux中为具有特定(范围)模式的所有文件执行作业提交脚本
我正在超级计算服务器上的CentOS 7.7上进行一些计算。假设我有一个包含以下文件的tmp_文件夹:Python 如何在linux中为具有特定(范围)模式的所有文件执行作业提交脚本,python,linux,bash,batch-file,slurm,Python,Linux,Bash,Batch File,Slurm,我正在超级计算服务器上的CentOS 7.7上进行一些计算。假设我有一个包含以下文件的tmp_文件夹: input1.traj, input2.traj, input3.traj, ..., input_5000.traj, random1.traj, random2.traj, ..., random1000.traj 现在我想为74个文件执行一个SLURM作业提交脚本,这些文件的文件名从input_78到input_151。提交单个作业78的脚本如下所示: module load GPAW
input1.traj, input2.traj, input3.traj, ..., input_5000.traj, random1.traj, random2.traj, ..., random1000.traj
现在我想为74个文件执行一个SLURM作业提交脚本,这些文件的文件名从input_78到input_151。提交单个作业78的脚本如下所示:
module load GPAW
gpaw sbatch -- --job-name=job_78 -e error_78.err -o output_78.out -n 16 -N 1 -p xeon16 -t 80:00:00 --mail-type=END,FAIL --mail-user=xxxxx@xxx.xx calc.py tmp_folder//input78.traj
其中GPAW只是一个进行计算的计算工具,calc.py是运行计算的主要Python脚本,inputxx.traj文件是输入轨迹文件
如何为那些特定的74个文件执行此脚本?如果有人不知道SLURM是什么没关系。基本上我想做的就是不断修改作业提交脚本,用79、80等替换78,直到151。值得注意的是,我不想弄乱脚本的其他部分,例如walltime和节点数。如果可能的话,我更愿意使用Python脚本来完成这项任务,但欢迎您提供任何建议。下面是一些简单的bash,使用78到151的for循环序列
for i in {78..151}
do
module load GPAW
gpaw sbatch -- --job-name=job_$i -e error_$i.err -o output_$i.out -n 16 -N 1 -p xeon16 -t 80:00:00 --mail-type=END,FAIL --mail-user=xxxxx@xxx.xx calc.py tmp_folder//input$i.traj
done