在Python中删除空行有几种常见的方法,以下是几种常用的方法:
1. 使用`strip()`方法:
with open('file.txt', 'r') as file:
lines = file.readlines()
lines = [line.strip() for line in lines if line.strip()]
2. 使用`rstrip()`方法:
with open('file.txt', 'r') as file:
lines = file.readlines()
lines = [line.rstrip() for line in lines if line.rstrip()]
3. 使用`join()`方法:
with open('file.txt', 'r') as file:
content = file.read()
lines = [line for line in content.split('\n') if line.strip()]
result = '\n'.join(lines)
4. 使用`filter()`函数:
def remove_empty_lines(filename):
with open(filename, 'r', encoding='utf-8') as file:
lines = file.readlines()
filtered_lines = filter(None, (line.strip() for line in lines))
with open(filename, 'w', encoding='utf-8') as file:
file.writelines(filtered_lines)
5. 使用列表推导式:
def remove_empty_lines_list_comprehension(filename):
with open(filename, 'r') as file:
content = file.read()
lines = [line for line in content.split('\n') if line.strip()]
result = '\n'.join(lines)
6. 使用正则表达式:
import re
with open('example.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
lines = [line for line in lines if not re.match(r'^\s*$', line.strip())]