Отказано в доступе при отправке нескольких заданий через цикл - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь создать и отправить несколько заданий на гауссовский язык, используя код python. Когда я запускаю этот код:

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 -l\n')
        fn.write('\n')
        fn.write('#$ -pe omp 8\n')
        fn.write('#$ -P porcogrp\n')
        fn.write('#$ -l h_rt=24:00:00\n')
        fn.write('#$ -j y\n')
        fn.write('\n')
        fn.write('module load gaussian/16.A.03\n')
        fn.write('\n')
        fn.write(f'HOMEFOL={str(input_dir)}\n')
        fn.write(f'INPUTFILE={str(input_dir)}/{mol_base}_{mol_ind}.com\n')
        fn.write(f'OUTFILE={str(input_dir)}/{mol_base}_{mol_ind}.log\n')
        fn.write('\n')
        fn.write('SCRATCHDIR=/scratch/$USER/$JOB_ID\n')
        fn.write('mkdir -p $SCRATCHDIR\n')
        fn.write('cd $SCRATCHDIR\n')
        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

Действительно застрял здесь, любая помощь будет оценена!

1 Ответ

0 голосов
/ 13 апреля 2020

Вам нужны кавычки вокруг вашего системного вызова. Команда представляет собой строку:

os.system('qsub g16_input')

См. Документы: https://docs.python.org/3.8/library/os.html#os .system

...