python读取txt文件并删除文中空行
时间: 2023-07-15 09:11:57 浏览: 135
你可以使用Python中的`open()`函数来打开txt文件,然后使用`readlines()`方法读取文件中的所有行。接着,你可以循环遍历每一行,并使用`strip()`方法去除行末尾的空格和换行符。如果剩余字符长度不为0,则将该行添加到一个新的列表中。最后,你可以使用`join()`方法将这个新的列表中的每一行连接起来,并将其写回原始文件。
下面是一个示例代码:
```python
with open('file.txt', 'r') as f:
lines = f.readlines()
new_lines = []
for line in lines:
stripped_line = line.strip()
if len(stripped_line) > 0:
new_lines.append(stripped_line)
with open('file.txt', 'w') as f:
f.write('\n'.join(new_lines))
```
在这个示例中,我们首先使用`with`语句打开了一个名为`file.txt`的文件,并使用`readlines()`方法读取所有行。然后,我们遍历每一行,并使用`strip()`方法去除行末尾的空格和换行符。如果该行剩余字符长度不为0,则将其添加到新的列表`new_lines`中。最后,我们使用`with`语句打开同一个文件,并将连接后的新行列表写回到文件中。
相关问题
输入文件包含很多行数据,每行开始是一个整数N,然后紧跟着有N个整数。每个整数中间空格隔开。最后一行为0,表示输入结束,这个0不做处理。
这个描述看起来像是一个典型的文件读取和解析问题,通常出现在编程挑战或者算法题目的上下文中。你需要编写一个程序逐行读取文件,对于每一行,首先提取整数N,接着读取接下来的N个整数并进行相应的操作。当遇到一行全部为0时,就停止处理,因为这标志着输入的结束。
在Python中,可以这样做:
```python
def parse_file(file_path):
with open(file_path, 'r') as file:
while True:
line = file.readline()
if not line: # 当读到空行,即全是0时,跳出循环
break
values = list(map(int, line.strip().split()))
process_data(values) # 这里替换为你的具体处理函数
def process_data(values):
n = values[0]
data = values[1:]
# 根据N和data做你的计算或操作
pass # 你需要在此处填充实际的操作代码
# 调用函数,传入你要解析的文件路径
parse_file('input.txt')
```
这里假设`process_data`是你用于处理那些整数值的具体函数,你需要自行实现这部分逻辑。
阅读全文