从另一个脚本调用的脚本带有另一个变量的参数

时间:2018-07-31 20:16:57

标签: python python-3.x variables parameter-passing

我创建了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()

1 个答案:

答案 0 :(得分:1)

作为@Zach的注释,您可以通过将line作为参数来调用它。否则,您可以使用argparse进行操作。假设您有两个函数inner.py和outside.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返回

  

只需一行即可尝试