python - 检查字符串缩进?

标签 python indentation analysis lint

我正在为一系列字符串构建一个分析器。 我需要检查每行缩进了多少(通过制表符或空格)。

每一行只是文本编辑器中的一个字符串。 如何检查字符串的缩进量?

或者更确切地说,也许我可以检查字符串前有多少空格或\t,但我不确定该怎么做。

最佳答案

要计算字符串开头的空格数,您可以比较左侧剥离(删除空格)的字符串和原始字符串:

a = "    indented string"
leading_spaces = len(a) - len(a.lstrip())
print(leading_spaces) 
# >>> 4

制表符缩进是特定于上下文的...它会根据显示制表符的任何程序的设置而变化。这种方法只会告诉您空白字符的总数(每个制表符将被视为一个字符)。

或演示:

a = "\t\tindented string"
leading_spaces = len(a) - len(a.lstrip())
print(leading_spaces)
# >>> 2

编辑:

如果你想对整个文件执行此操作,你可能想尝试

with open("myfile.txt") as afile:
    line_lengths = [len(line) - len(line.lstrip()) for line in afile]

关于python - 检查字符串缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241399/

相关文章:

算法分析 : Expected Running Time of Recursive Function Based on a RNG

arrays - 找出比较两个项目的概率。 (请提示)

Python错误: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 4

vim - 当有注释掉的大括号时,如何使用 vim 缩进行?

python - 我真的需要帮助,这是我下面的代码,我想为每个正确答案给出随机评论

java - 如何在不使用数组或任何正则表达式的情况下缩进包含特殊关键字的文本文件中的文本

ruby-on-rails - 私有(private)方法的额外缩进

algorithm - 通过使用 Select 算法中的枢轴重复出现

python - 向 seaborn 中的每个子图添加文本

python - Databricks 中的 Snowflake Python 连接器错误