【发布时间】:2019-01-08 07:46:13
【问题描述】:
我已经创建了 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()
【问题讨论】:
-
“它不会接受”?如,它不是为了接受论点而写的吗?那么你不能强迫它。
-
另外,执行该代码可能有比使用
os.system从命令行调用它更好的方法 -
更明确地跟进@sundance 的评论,更好的模式可能是
from bob import a_func,然后是a_func(line) -
哦不,它确实需要参数,但是被调用的脚本抱怨没有给它任何参数。我想我的主要问题是,实现这一目标的最佳方法是什么?
-
查看@Zach 的评论:导入函数在脚本中运行它可能会更好。除此之外,发生这种情况的原因可能是因为需要引用该论点。尝试
command = 'python3 bob.py "{}"'.format(line),假设您的line没有任何双引号
标签: python python-3.x variables parameter-passing