gpt4 book ai didi

python - 如何使用正则表达式跳过文档字符串

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:20 27 4
gpt4 key购买 nike

我正在尝试将一些导入行插入到 python 源文件中,但理想情况下我希望将它们放在初始文档字符串之后。假设我像这样将文件加载到 lines 变量中:

lines = open('filename.py').readlines()

如何找到文档字符串结束的行号?

最佳答案

您可以使用 python 的标记化模块,而不是使用正则表达式或依赖特定格式。

import tokenize
f=open(filename)
insert_index = None
for tok, text, (srow, scol), (erow,ecol), l in tokenize.generate_tokens(f.readline):
if tok == tokenize.COMMENT:
continue
elif tok == tokenize.STRING:
insert_index = erow, ecol
break
else:
break # No docstring found

这样你甚至可以处理病理情况,例如:

# Comment
# """Not the real docstring"""
' this is the module\'s \
docstring, containing:\
""" and having code on the same line following it:'; this_is_code=42

完全按照 python 处理它们的方式。

关于python - 如何使用正则表达式跳过文档字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/156504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com