python读取文件并按OpenGLRenderer: Davey!字符串分割,并排除空行与包含OpenGLRenderer: Davey!所在行的内容
时间: 2024-02-06 21:04:45 浏览: 126
好的,你可以使用 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)` 替换成其他你需要的操作,例如写入新文件。
阅读全文