在 Python 中检查一行是否为空
Check if a line is Empty in Python
检查一行是否为空:
- 以阅读模式打开文件。
- 使用
file.readlines()
方法获取文件中的行。 - 使用
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 运算符检查一行是否为空
检查一行是否为空:
- 以阅读模式打开文件。
- 使用
file.readlines()
方法获取文件中的行。 - 使用
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
计算为 ,否则计算为。True
x
l
False
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
,那么它是一个空行。