2017-03-07 109 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。 –