2015-08-05 7 views
-4

У меня есть скрипт Python, который должен выполнить код Fortran для нескольких случаев. Для этого кода требуется входной файл, который вводится в виде строки.запуск скрипта с входным файлом в python

псевдопользователей код

input_file='input_'+case+'.in' os.system('./a.out input_file)'

Здесь случай является переменной, как она различна для каждого теста. Это не работает, поскольку мне нужно преобразовать строку (input_file) в имя файла по существу.

+0

Может быть, вы могли бы удалить «=» знак? Или это опечатка? .... os.system () – cnnrznn

+0

Не могли бы вы показать нам [настоящий код] (http://stackoverflow.com/help/mcve)? и ваш псевдокод должен быть 'os.system ('./ a.out input_% s.in'% case)'. – bufh

+0

Сохраните данные в файл, который вы назвали, а затем используйте модуль подпроцесса для запуска программы Fortran (я думаю, это двоичный файл) – KurzedMetal

ответ

1

Таким образом, вы использовать новый string.Format конвенции передать переменные:

input_file="input_{0}.in".format(case) 

os.system=("./a.out {0}".format(input_file))