如何告诉python不要将哈希符号解释为注释?

如何告诉python不要将哈希符号解释为注释?,python,sed,comments,crontab,os.system,Python,Sed,Comments,Crontab,Os.system,我想从用python编写的os.system命令中打开和关闭crone作业。基本上,使用sed命令注释/取消注释crontab行以控制作业计划 但是,当我按如下所示放置此命令时,python将在#as comment之后解释为文本 import os os.system("crontab -l | sed '/^\*.*heightSQL.py/s/^/#/' | crontab -") 有没有办法告诉python不要将“解释为注释符号?”哈希符号没有问题,但引用不正确。试试这个: os.sy

我想从用python编写的os.system命令中打开和关闭crone作业。基本上,使用sed命令注释/取消注释crontab行以控制作业计划

但是,当我按如下所示放置此命令时,python将在#as comment之后解释为文本

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-
已经运行时生成正确的输出吗?我不是。但这不是重点。

为什么需要哈希符号?在字符串文本中,Python本身已经忽略了哈希。这只是另一个字符。可能是您的编辑器没有正确显示它,但python会理解它。我认为是您的命令无效:尝试
os.system(“echo sed'/^\*.*heightSQL.py/s/^/#/'”)
,您将看到
是正常的。@jornsharpe不幸的是,它不考虑哈希作为另一个字符,同时运行到命令,如图所示。例如,print(“#John”)给出了输出#John,正如您所说,但在这种情况下,澄清更改是
r'raw string'
literal是有帮助的,需要一段时间才能发现它。发现它的时间越长,记住它的效果越好;-)(我只是半开玩笑…)它工作了,唯一的问题是我需要运行它,而不是像sudo那样。