如何在脚本中调用脚本并解析参数

时间:2012-06-15 03:53:37

标签: python-2.7

我正在尝试创建一个主脚本,它将调用解析日期变量开始和结束的多个python脚本。

我有4个要调用的脚本

DAY_Level_Extract1.py
DAY_Level_Extract2.py
MONTH_Level_Extract1.py
MONTH_Level_Extract2.py

我需要传递以下示例,然后在脚本中使用:

start = datetime.date( year = 2012, month = 6, day = 1 )
end = datetime.date( year = 2012, month = 6, day = 2 )

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您应该将Python文件设计为可用作模块。然后,master可以从其他函数中导入所需的函数,并使用所需的参数调用这些函数(如startend)。

这是一篇关于Python中模块的教程。

http://www.tutorialspoint.com/python/python_modules.htm

我不知道你的“提取”功能是做什么的。我想他们会从日志文件中的行或类似的东西中提取一些数据。

因此,创建一个名为“dayextract.py”的源文件并将日期提取函数放入其中:

def day_extract1(line, start, end):
    ... # do actual day extracting stuff here
def day_extract2(line, start, end):
    ... # do actual day extracting stuff here

然后,创建一个名为“monthextract.py”的源文件,并将月份提取函数放入其中:

def month_extract1(line, start, end):
    ... # do actual month extracting stuff here
def month_extract2(line, start, end):
    ... # do actual month extracting stuff here

最后,让你的主程序完成所有工作。导入所需的功能:

import datetime

from dayextract import day_extract1, day_extract2
from monthextract import month_extract1, month_extract2

start = datetime.date( year = 2012, month = 6, day = 1 )
end = datetime.date( year = 2012, month = 6, day = 2 )

with open("some_file.txt") as f:
    for line in f:
        day_extract1(line, start, end)
        day_extract2(line, start, end)
        month_extract1(line, start, end)
        month_extract2(line, start, end)