2012-06-15 54 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)