通过循环提交多个作业时权限被拒绝



我正试图使用python代码创建多个作业并将其提交给gaussian当我运行此代码时:

for iframe in mols_xyz.trajectory:
mol_ind = iframe.frame + 1
g16_input = input_dir / f'{mol_base}_{mol_ind}.sh'
with g16_input.open('w') as fn:
fn.write('#!/bin/sh -ln')
fn.write('n')
fn.write('#$ -pe omp 8n')
fn.write('#$ -P porcogrpn')
fn.write('#$ -l h_rt=24:00:00n')
fn.write('#$ -j yn')
fn.write('n')
fn.write('module load gaussian/16.A.03n')
fn.write('n')
fn.write(f'HOMEFOL={str(input_dir)}n')
fn.write(f'INPUTFILE={str(input_dir)}/{mol_base}_{mol_ind}.comn')
fn.write(f'OUTFILE={str(input_dir)}/{mol_base}_{mol_ind}.logn')
fn.write('n')
fn.write('SCRATCHDIR=/scratch/$USER/$JOB_IDn')
fn.write('mkdir -p $SCRATCHDIRn')
fn.write('cd $SCRATCHDIRn')
fn.write('g16 $HOMEFOL/$INPUTFILE > $HOMEFOL/$OUTFILE')
os.system(qsub g16_input)

结果是:

[zpowers@scc1 Test]$ python gaussian_Input.py
File "gaussian_Input.py", line 59
os.system(qsub g16_input)
^
SyntaxError: invalid syntax

真的被困在这里,任何帮助都将不胜感激!

您需要在系统调用周围加引号。命令是一个字符串:

os.system('qsub g16_input')

请参阅文档:https://docs.python.org/3.8/library/os.html#os.system

最新更新