簡體   English   中英

自動化Python腳本

[英]Automate Python Script

我正在手動運行python腳本,該腳本以JSON格式獲取數據。如何自動將此腳本每小時自動運行一次?

我正在Windows7上工作。我可以使用Task Scheduler之類的工具嗎?如果可以使用,我需要在批處理文件中放入什么?

我可以使用任務計划程序之類的工具嗎?

是。 任何可以運行任意程序的工具都可以運行Python腳本。 選擇最喜歡的一個。

如果可以使用,我需要在批處理文件中放入什么?

什么批處理文件? Task Scheduler可以帶參數運行任何可以運行的東西-C程序,.NET程序,甚至是具有關聯的默認應用程序的文檔。 因此,沒有理由需要批處理文件。 使用C:\\Python33\\python.exe (或任何適當的路徑)作為可執行文件,並使用腳本的路徑(及其參數(如果有))作為參數。 就像從命令行運行腳本時一樣。

有關一些簡單示例,請參見在MSDN中使用Task Scheduler ,以及Task Scheduler架構元素Task Scheduler腳本對象作為參考(取決於您是否要以XML創建時間表,還是通過腳本接口)。

您要創建一個ExecAction ,其Path設置為"C:\\Python33\\python.exe"Arguments設置為"C:\\MyStuff\\myscript.py" ,一個RepetitionPatternInterval設置為"PT1H" 您應該能夠從那里找出其余的內容。

就像sr2222在評論中指出的那樣,您經常會頻繁安排計划任務,並且需要以編程方式控制其計划。 如果需要,您可以從Python控制Task Scheduler的腳本接口,或在Task Scheduler上構建一些東西,或使用其他工具,該工具從Python那里可以輕松訪問並且在線獲得更多有用的示例,等等。您到了這一步,退后一步,看看是否過度使用了OS任務調度。 (如果您開始添加延遲或調整時間以確保每日foo1.py作業直到最近的每小時foo0.py完成其作業之后的5分鍾才運行,那么您就過度使用了OS任務調度,但並非總是如此很明顯。)

我可以建議WinAutomation還是AutoMate 兩者的功能完全相同,只是UI有所不同。 我更喜歡WinAutomation,因為腳本更易於構建。

是的,您可以使用任務計划程序按小時運行腳本。

要通過批處理文件執行python腳本,請使用以下代碼:

start path_to_python_exe path_to_python_file

例:

start C:\Users\harshgoyal\AppData\Local\Continuum\Anaconda3\python.exe %UserProfile%\Documents\test_script.py

如果將python設置為Window的Environment Window,則可以將語法簡化為:

start python %UserProfile%\Documents\test_script.py

我通常要做的是通過Task Scheduler運行一次批處理文件,並在python腳本中每小時調用一個線程/計時器。

class threading.Timer(interval,function,args = None,kwargs = None)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM