Сценарий Python для выполнения повторного ввода сценария - PullRequest
0 голосов
/ 26 октября 2019

У меня есть скрипт, который должен выполняться несколько (9) раз с одним и тем же вводом, в поисках решения, упрощающего процесс.

Стандартная команда для моего сценария и операции:

steghide extract -sf file.jpg

P / s: я работаю в Linux

1 Ответ

0 голосов
/ 26 октября 2019

У вас есть:

  1. Программа (скрипт Python)
  2. N (9) файлов для обработки с программой
  3. 1 аргумент (входной) дляprogram

Теперь вы хотите запустить скрипт из командной строки для N (9) файлов с тем же аргументом, верно?

Я предлагаю написать еще один скрипт для запускасценарий для этого N файлов с тем же входным аргументом.

Базовое введение в аргумент командной строки системы:

# Module sys has to be imported:
import sys                

# Iteration over all arguments:
for eachArg in sys.argv:   
    print(eachArg)

Пример вызова этого сценария:

python argumente.py python course for beginners

output:

argumente.py
python
course
for
beginners

Теперь мы можем изменить этот простой пример для вашего случая. Сначала создайте новую программу на Python и импортируйте ваш скрипт на Python, скажем, имя вашей программы на Python my_prog1.py:

import my_prog1
import os
import sys

var = sys.argv[1]

os.system('python my_prog1 file1_location' var)
os.system('python my_prog1 file2_location' var)
os.system('python my_prog1 file3_location' var)
os.system('python my_prog1 file4_location' var)
os.system('python my_prog1 file5_location' var)
os.system('python my_prog1 file6_location' var)
os.system('python my_prog1 file7_location' var)
os.system('python my_prog1 file8_location' var)
os.system('python my_prog1 file9_location' var)

, где вы вызываете этот скрипт (назовем этот скрипт как sample.py):

python sample.py "your input here"

Теперь он получит тот же ввод и будет работать для N файлов.

[Обновленный ответ после обсуждения]

Так как спрашивающий использует steghide с командой, и он должен вводить фразу-пароль каждый раз. Из steghide doc вы можете добавить в команду аргумент пароля.

import os
import sys

var = sys.argv[1]

os.system('steghide extract -sf file1.jpg -p %s' %var)
os.system('steghide extract -sf file2.jpg -p %s' %var)
os.system('steghide extract -sf file3.jpg -p %s' %var)
os.system('steghide extract -sf file4.jpg -p %s' %var)
os.system('steghide extract -sf file5.jpg -p %s' %var)
os.system('steghide extract -sf file6.jpg -p %s' %var)
os.system('steghide extract -sf file7.jpg -p %s' %var)
os.system('steghide extract -sf file8.jpg -p %s' %var)
os.system('steghide extract -sf file9.jpg -p %s' %var)

Запустите это в команде:

python sample.py "your passphrase here"
...