изменить значения командной строки из другого файла с помощью os.system - PullRequest
0 голосов
/ 24 мая 2018

Первая часть кода находится в именах файлов loop.py, которые я хочу запустить во вторых именах файлов как loop2.py.Я хочу присвоить значение 12,15,17 для lattice_size при запуске файла loop2.py.Как я могу это сделать?

код для loop.py

import argparse
p=argparse.ArgumentParser()
p.add_argument('--lattice_size', '-ls',default=4, type=int, help='lattice')
FLAGS=p.parse_args()
print ("Lattice size is %d" % (FLAGS.lattice_size))`

код для loop2.py

import os
import sys
os.system("python loop.py")`

1 Ответ

0 голосов
/ 24 мая 2018

Если вы хотите перебрать эти аргументы, вы можете использовать:

import os
results = []
for ls in [12, 15, 17]:
    result = os.system('python loop.py --lattice_size %s' % str(ls))
    results.append(result)

Это должно работать для Python 2.7 или 3.x.

Возможно, вы также захотитепосмотрите на использование subprocess.call вместо.Предполагается, что он будет немного безопаснее и более функциональным, хотя я менее знаком с синтаксисом Python 2.7.

import subprocess
results = []
for ls in [12, 15, 17]:
    command = ['python', 'loop.py', '--lattice_size', str(ls)]
    result = subprocess.call(command)
    results.append(result)  # make list of results
    print(result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...