有一些类似的问题被提出;但是,要么答案没有涵盖特定部分,这对我来说是关键点,要么我无法理解。所以,让我解释一下我的问题:
我想创建3个python脚本。我们称之为p1.py,p2.py和p3.py。当我运行p1时,它会用
收集时间信息<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Test_Productorderlog>
<active>true</active>
<codepool>local</codepool>
</Test_Productorderlog>
</modules>
</config>
然后它会改变日期的格式并用变量存储它,如下所示
import datetime
captureTime = datetime.datetime.now()
然后,它将创建一个以字符串&#39; folderName&#39;的值命名的文件夹。
在这部分之后,我不知道该怎么做。
p1应该运行p2和p3,并传递&#39; folderName&#39;的值对他们,然后停止;并且,p2和p3应该在&#39; folderName&#39;的值命名的文件夹下创建文件。
谢谢。
答案 0 :(得分:3)
在第1页:
import p2
args = ['foo', bar]
p2.main(args)
在p2中:
def main(args):
do_whatever()
if __name__ == '__main__':
main()
p3与p2
具有相似的结构答案 1 :(得分:1)
您可以使用subprocess模块执行外部命令。最好首先从更简单的命令开始,以获得所有的要点。下面是一个虚拟的例子:
import subprocess
from subprocess import PIPE
def main():
process = subprocess.Popen('echo %USERNAME%', stdout=PIPE, shell=True)
username = process.communicate()[0]
print username #prints the username of the account you're logged in as
process = subprocess.call('python py1.py --help', shell=True)
process = subprocess.call('python py2.py --help', shell=True)
process = subprocess.call('python py3.py --help', shell=True)
if __name__ == '__main__':
main()
这将获取echo %USERNAME%
的输出并存储它。它还将运行您的三个脚本,但对它们没有任何想象力。您可以PIPE
脚本的输出,如第一个示例所示,并将它们反馈到您的下一个脚本。
这是 NOT 执行此操作的唯一方法(您可以导入其他脚本)。如果您希望使用外部主脚本来控制和操作所有子脚本,这很好。
如果您尚未检查我们的argparse,则应该。