2012-06-15 119 views
1

我试图创建一个主脚本,将调用多个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) 

感谢您的帮助。

回答

0

您应该将您的Python文件设计为可用作模块。然后主人可以从其他人那里导入它需要的功能,并用所需的参数调用这些功能(如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)