2017-03-07 39 views
0

我想打開並關閉從python寫的os.system命令的crone作業。基本上,使用sed命令來評論/取消註釋crontab行來控制作業計劃。如何告訴python不要將hash符號解釋爲註釋?

但是,當我把這個命令如下所示,python解釋爲#後的文本作爲註釋。

import os 
os.system("crontab -l | sed '/^\*.*heightSQL.py/s/^/#/' | crontab -") 

有什麼辦法告訴python不要將#解釋爲註釋符號嗎?

+0

爲什麼你需要散列符號? –

+3

在字符串文字中,Python本身已經忽略了散列。這只是另一個角色。 – jonrsharpe

+1

它可能是你的編輯器沒有正確顯示,但python會理解它。 –

回答

1

你有沒有問題的散列符號,但你的報價是不正確的。試試這個:

os.system(r"crontab -l | sed '/^\*.*heightSQL.py/s/^/#/' | crontab -") 

而且順便說一句:你確定crontab -l產生正確的輸出,而crontab -已經運行?我不是。但這沒有關係。

+0

這將有助於澄清這一變化是一個'拉'字符串',它花了一段時間才發現它。 – jonrsharpe

+1

你需要發現的時間越長,記得它越好;-)(我只是半開玩笑......) – Alfe

+0

它的工作,唯一的事情是我需要運行它不作爲sudo。 –