我想打開並關閉從python寫的os.system命令的crone作業。基本上,使用sed命令來評論/取消註釋crontab行來控制作業計劃。如何告訴python不要將hash符號解釋爲註釋?
但是,當我把這個命令如下所示,python解釋爲#後的文本作爲註釋。
import os
os.system("crontab -l | sed '/^\*.*heightSQL.py/s/^/#/' | crontab -")
有什麼辦法告訴python不要將#解釋爲註釋符號嗎?
我想打開並關閉從python寫的os.system命令的crone作業。基本上,使用sed命令來評論/取消註釋crontab行來控制作業計劃。如何告訴python不要將hash符號解釋爲註釋?
但是,當我把這個命令如下所示,python解釋爲#後的文本作爲註釋。
import os
os.system("crontab -l | sed '/^\*.*heightSQL.py/s/^/#/' | crontab -")
有什麼辦法告訴python不要將#解釋爲註釋符號嗎?
你有沒有問題的散列符號,但你的報價是不正確的。試試這個:
os.system(r"crontab -l | sed '/^\*.*heightSQL.py/s/^/#/' | crontab -")
而且順便說一句:你確定crontab -l
產生正確的輸出,而crontab -
已經運行?我不是。但這沒有關係。
這將有助於澄清這一變化是一個'拉'字符串',它花了一段時間才發現它。 – jonrsharpe
你需要發現的時間越長,記得它越好;-)(我只是半開玩笑......) – Alfe
它的工作,唯一的事情是我需要運行它不作爲sudo。 –
爲什麼你需要散列符號? –
在字符串文字中,Python本身已經忽略了散列。這只是另一個角色。 – jonrsharpe
它可能是你的編輯器沒有正確顯示,但python會理解它。 –