2012-02-01 249 views
3

如何自動運行3個python腳本。假設,我有3個腳本說a.py,b.py和c.py.如何自動運行python腳本

這裏a.py運行一個web爬蟲並將其保存爲一個xml文件。現在b.py解析生成的xml文件並保存爲pickle文件。現在c.py將pickle文件中的列表插入到數據庫中。

有沒有辦法讓這個自動化?

+1

你在什麼操作系統上?另外,你是什麼意思的自動化?你想讓他們按照固定的時間表運行或響應某些事件嗎? – Bill 2012-02-01 05:44:26

+0

我正在使用ubuntu 11.10,通過自動化我的意思是說,我希望這3個腳本每2-3小時運行一次。 – 2012-02-01 05:46:44

回答

6

只是做一個外殼腳本,其確實

python a.py && python b.py && python c.py

在bash的&&爲鏈接命令連續地,例如這裏b.py只有在a.py成功完成(即返回0)時纔會執行。

將它保存在一個沒有擴展名的文件(有些版本的cron不會使用.sh文件,我發現這出長和令人沮喪的樣子),然後使用crontab -e把那個shell腳本的位置,在你的cron表。有關superuser關於如何安排cron作業的信息很多,所以我建議在那裏搜索這些信息,而不是SO(這更多關於編程)。

+0

'*/2 * * * */home/ching/Desktop/scraper/scrap' im使用此腳本每2分鐘在crontab中運行我的腳本。但我沒有看到任何生成的XML文件。這有什麼不對嗎? – 2012-02-01 09:58:51

+0

它工作時,我手動嘗試運行它 – 2012-02-01 10:01:52

+0

你有'chmod + x'的腳本?你可以使用'run-parts --test'來檢查哪個cron會運行 – wim 2012-02-01 10:59:27

0

編寫一個包裝python腳本,導入a,b和c,然後依次運行(包含錯誤檢查,通知和記帳)。然後使用系統cron守護進程安排這個包裝(如果在UNIX上)。