Скрипт вызывается из другого скрипта с аргументами из другой переменной

1

Я создал сценарий Python, ниже которого я хотел бы запустить и вызвать другой скрипт, а затем дать вызываемому сценарию переменную, в этом случае он будет адресом электронной почты как "строка" из текстового файла. Каким будет самый простой способ выполнить это, пожалуйста?

Теперь проблема заключается в том, что вызываемый скрипт не будет принимать переменную 'line' в качестве аргумента.

import bob 
import os 
# file handle fh fh = open('mailout.txt') while True:
# read line
line = fh.readline()
line = line.replace("\r", "").replace("\n", "")
command = 'python3 bob.py ' + line
os.system(command)
# check if line is not a empty value
if not line:
    break fh.close()
  • 0
    "Это не займет"? Как в, это не написано, чтобы принять аргументы? Тогда вы не можете заставить это.
  • 1
    Кроме того, вероятно, есть лучший способ выполнить этот код, чем использовать os.system для вызова его из командной строки.
Показать ещё 3 комментария
Теги:
python-3.x
variables
parameter-passing

1 ответ

1
Лучший ответ

Как комментарий @Zach, вы можете вызвать его, указав строку в качестве аргумента. В противном случае вы можете сделать это, используя argparse. Предположим, что у вас есть две функции inner.py и outer.py.

inner.py

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-s', '--sentence')
args = parser.parse_args()
print(args.sentence)

outer.py

import os
f = open('email.txt')
line = f.readline()
line = line.replace("\r", "").replace("\n", "")
line = "\""+line+"\""
command = 'python inner.py -s' + line
os.system(command)

Затем вызов python outer.py возвращается

Просто линия, чтобы попробовать

  • 0
    Спасибо, я попробовал это, но строка в моем случае - это адрес электронной почты, прочитанный построчно из текстового файла. Должен ли я поместить двойные или одинарные кавычки вокруг соответствующих писем в текстовом файле, чтобы это работало?
  • 0
    Отредактировал ответ так, что теперь он читает строку из текстового файла.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню