Python:读取文件排除空行
时间: 2024-07-05 07:01:09 浏览: 135
在Python中,如果你想读取文件并排除空行,你可以使用`open()`函数打开文件,然后逐行读取,使用条件判断检查每一行是否为空。以下是一个简单的示例:
```python
# 打开文件,假设文件名为file.txt
with open('file.txt', 'r') as file:
# 遍历文件内容,不包含每行末尾的换行符
for line in file:
# 判断行是否为空(即只包含空格或制表符)
if line.strip() != '':
# 如果非空,处理该行(例如打印、存储等)
print(line)
```
在这个例子中,`strip()`方法用于移除字符串两端的空白字符,包括空格和换行符。如果一行的内容经过`strip()`后不为空,那么就执行后续的操作。
相关问题
python读取文件并按OpenGLRenderer: Davey!字符串分割,并排除空行与包含OpenGLRenderer: Davey!所在行的内容
好的,你可以使用 Python 中的文件读写操作和字符串操作来完成这个任务。具体步骤如下:
1. 打开文件,使用 Python 内置的 `open()` 函数来打开文件,并指定文件路径和打开模式。
```python
file = open('file.txt', 'r')
```
其中,`'file.txt'` 是文件的路径,`'r'` 表示以只读模式打开文件。
2. 读取文件内容,使用文件对象的 `readlines()` 方法读取文件内容并按行分割为多个字符串,返回一个列表。
```python
lines = file.readlines()
```
3. 按目标字符串分割,使用字符串的 `split()` 方法按目标字符串分割成多个子字符串,并过滤掉包含目标字符串的行和空行。
```python
parts = []
for line in lines:
if 'OpenGLRenderer: Davey!' in line:
# 如果包含目标字符串,将其后面的部分分割出来
parts.extend(line.split('OpenGLRenderer: Davey!')[1:])
elif line.strip() != '':
# 如果不包含目标字符串且不是空行,保留整行内容
parts.append(line)
```
4. 处理分割后的字符串,遍历 `parts` 列表中的所有子字符串,对每个子字符串进行处理,例如打印出来或写入新文件。
```python
for part in parts:
# 处理每个子字符串
print(part)
```
完整的代码如下所示:
```python
# 打开文件
file = open('file.txt', 'r')
# 读取文件内容
lines = file.readlines()
# 按目标字符串分割
parts = []
for line in lines:
if 'OpenGLRenderer: Davey!' in line:
# 如果包含目标字符串,将其后面的部分分割出来
parts.extend(line.split('OpenGLRenderer: Davey!')[1:])
elif line.strip() != '':
# 如果不包含目标字符串且不是空行,保留整行内容
parts.append(line)
# 处理分割后的字符串
for part in parts:
# 处理每个子字符串
print(part)
# 关闭文件
file.close()
```
你可以将 `print(part)` 替换成其他你需要的操作,例如写入新文件。
请用python语言完成读取文件“江雪.txt”,将诗的每一句的开头第一个字取出
好的,下面是用 Python 读取文件并提取每句诗开头字的代码:
```python
with open('江雪.txt', 'r', encoding='utf-8') as f:
for line in f:
if line.strip(): # 排除空行
first_char = line.strip()[0]
print(first_char)
```
运行以上代码,就可以在控制台输出每句诗的开头字了。
阅读全文