Я создал сценарий 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()
Как комментарий @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
возвращается
Просто линия, чтобы попробовать
os.system
для вызова его из командной строки.