用注解替换python脚本中的打印命令

gj3fmq9x  于 2023-05-16  发布在  Python
关注(0)|答案(2)|浏览(118)

我在下面的.py文件中有命令

print(r"\n print series")

我希望上面的命令/行替换为字符串:
“#series”即将上面的打印命令转换为注解,在上面命令中的“print”后面的文本前面加上#符号。
我是Python新手。请帮帮我
这个问题之前已经结束了,因为不清楚我想做什么。因此,下面的解释:
这样做的原因:我想在学习python/using的脚本中使用print语句作为参考。稍后,我想将print语句更改为注解。因此,我想用#替换print语句的开头,这将把它转换为注解。因为会有很多这样的转换,我想用一个字符串.replace或其他东西来编程地完成它。任何以其他方式实现这一目标的建议也是受欢迎的。谢谢

wfsdck30

wfsdck301#

如果你想在你的脚本中完成这个任务(而不是在代码中执行find+replace),我建议你将print调用 Package 在一个你可以关闭的函数中:

DEBUG = True

def debug_print(*args, **kwargs):
    if DEBUG:
        print(*args, **kwargs)

如果你有一堆电话,比如:

debug_print(r"\n print series")

它们将只打印只要DEBUGTrue。当你想关闭所有这些print语句时,你可以只编辑这一行:

DEBUG = False

现在什么都打印不出来

e1xvtsh3

e1xvtsh32#

下面是一个使用正则表达式的简单解决方案
1.将命令作为字符串存储在名为“command”的变量中。
1.使用'#'符号替换'print'关键字,并使用正则表达式删除'\n'字符。确保使用'.strip()'删除任何前导或尾随空格。

import re
command = r"\n print series"
comment = re.sub(r"\bprint\b\s*", "#", command.replace(r"\n", "")).strip()
print(comment)

这应该输出#series,希望这有帮助。

相关问题