如何使用三重双引号而不是三重单引号来制作所有文档字符串?

Shu*_*man 1 python docstring pycharm sublimetext

我在 python 中有很长的源代码,许多函数都用'''xxx''',如何"""xxx"""快速替换它们?在任何文本编辑器中?pycharm / 崇高

def my_func():
    '''
    yeah a doc string
    '''
    pass
Run Code Online (Sandbox Code Playgroud)

想要的结果:

def my_func():
    """
    yeah a doc string
    """
    pass
Run Code Online (Sandbox Code Playgroud)

编辑:在 pycharm(或其他所有文本编辑器)中找到解决方案搜索 '''(\n.*\n\s*)'''\n 并替换为 """$1"""\n

ps:我不能简单地搜索''',然后用 替换它""",因为在代码中多行字符串无处不在,而不仅仅是在文档字符串中。

Mar*_*rty 6

您可以通过三种方法实现它,

方法一:检查整个项目

Code > Inspect Code。PyCharm 将扫描您的代码(这可能需要一些时间)并向您显示检查结果。

在检查结果中,在 Python 下会显示 Single Quoted docstrings 在此处输入图片说明

  1. 一次更改所有文件 从左窗格中
    选择Single quoted docstring并单击Convert docstring to the triple double quoted string form。现在所有文件都将更改为三重双引号。

  2. 更改
    单个文件 在Single quoted docstring每个文件下选择单个文件,然后单击Convert docstring to the triple double quoted string form

方法 2:将代码替换为 Replace in Path

在PyCharm,右键单击该项目并选择Replace in PathCtrl+ Shift+ R在此处输入图片说明 在此处输入图片说明

Text to find字段中输入''',在Replace with字段中输入"""。点击查找。PyCharm 将扫描文件并询问您是替换单个出现还是一次替换所有出现。

方法三:使用终端工具或Python读取行并替换。

正如其他人提到的,这种方法可以完成这项工作。

我推荐方法1由于PyCharm 是智能的,它可以在不更改多行字符串(如果您正在使用它)的情况下更改docstrings,这在其他方法中很容易被替换。