在 Python 中检查一行是否为空

在 Python 中检查一行是否为空

Check if a line is Empty in Python

检查一行是否为空:

  1. 以阅读模式打开文件。
  2. 使用file.readlines()方法获取文件中的行。
  3. 使用line.strip()方法检查该行是否为空。
主程序
# ✅ check if a line is NOT empty with open('example.txt', 'r', encoding="utf-8") as f: lines = f.readlines() for line in lines: if line.strip(): print('The line is NOT empty ->', line) else: print('The line is empty') print('------------------------------------------') # ✅ check if a line is empty with open('example.txt', 'r', encoding="utf-8") as f: lines = f.readlines() for line in lines: if line.strip() == "": print('The line is empty') else: print('The line is NOT empty', line)

我们使用该with语句以阅读模式打开文件。

该语句会自动为我们关闭文件。

我们使用该f.readlines()方法获取文件中的行列表。

str.strip方法返回删除
了前导和尾随空格(包括换行符)的字符串副本。

主程序
print(repr('\n'.strip())) # 👉️ '' print(repr(' '.strip())) # 👉️ ''

该方法不会更改原始字符串,它会返回一个新字符串。字符串在 Python 中是不可变的。

第一个示例检查每一行是否不为空。

主程序
with open('example.txt', 'r', encoding="utf-8") as f: lines = f.readlines() for line in lines: if line.strip(): print('The line is NOT empty ->', line) else: print('The line is empty')

如果该str.strip()方法返回真值(不是空字符串),则该行不为空。

要检查一行是否为空,请将调用结果str.strip()与空字符串进行比较。

主程序
with open('example.txt', 'r', encoding="utf-8") as f: lines = f.readlines() for line in lines: if line.strip() == "": print('The line is empty') else: print('The line is NOT empty', line)

如果该str.strip()方法返回空字符串,则该行为空。

True如果该行包含空白字符或换行符,则此方法返回。

如果只想检查换行符,请使用in运算符。

使用 in 运算符检查一行是否为空

检查一行是否为空:

  1. 以阅读模式打开文件。
  2. 使用file.readlines()方法获取文件中的行。
  3. 使用in运算符检查该行是否为空。
主程序
# ✅ check if a line is NOT empty with open('example.txt', 'r', encoding="utf-8") as f: lines = f.readlines() for line in lines: if line not in ['\n', '\r', '\r\n']: print('The line is NOT empty ->', line) else: print('The line is empty') print('------------------------------------------') # ✅ check if a line is empty with open('example.txt', 'r', encoding="utf-8") as f: lines = f.readlines() for line in lines: if line in ['\n', '\r', '\r\n']: print('The line is empty') else: print('The line is NOT empty', line)

in 运算符
测试成员资格

例如,如果是 的成员,则
x in l计算为 ,否则计算为TruexlFalse

x not in l返回 的否定x in l

第一个示例检查文件中的每一行是否不为空。

如果存储在line变量中的字符串不等于\n,\r
\r\n,那么它不是一个空行。

换行符是:

  • \n对于 POSIX 样式编码的文件
  • \r\n适用于 Windows 风格的编码文件
  • \r对于旧的 Mac 编码文件

要检查该行是否为空,请改用in运算符。

主程序
with open('example.txt', 'r', encoding="utf-8") as f: lines = f.readlines() for line in lines: if line in ['\n', '\r', '\r\n']: print('The line is empty') else: print('The line is NOT empty', line)

如果line变量是\n,\r或之一\r\n,那么它是一个空行。

发表评论