python删除文本末尾所有空行

博文背景

question chat

解决办法
source = open('./input.txt', 'r')
done = 0    # 作为文件是否读结束的标志
index = 0   # 标记最后一个非空行的位置
count = 0   # 记录当前行的行数
while not done:
    # 使用readline避免内存载入过大玩意
    line = source.readline()
    count += 1
    if line != str():
        # 说明文件没读结束
        if line == '\n':
            # 说明是空行
            pass
        else:
            index = count
    else:
        done = 1

print(index)

source.seek(0, 0)     # 将文件指针放在文本开头
target = open('./output.txt', 'w')
count = 0   # 记录当前行的行数
done = 0    # 作为文件是否写结束的标志
while not done:
    # 使用readline避免内存载入过大玩意
    line = source.readline()
    print(line)
    count += 1
    target.write(line)
    if index != count and line != str():
        pass
    else:
        done = 1

source.close()
target.close()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 Python 的 `os` 模块来删除文件中的空行。 首先,使用 Python 的 `open` 函数打开文件,并将文件的内容读入到一个列表中: ```python with open('file.txt', 'r') as f: lines = f.readlines() ``` 然后,使用 Python 的 `filter` 函数过滤掉列表中的空行: ```python lines = list(filter(lambda x: x.strip(), lines)) ``` 最后,使用 Python 的 `open` 函数再次打开文件,并使用 `writelines` 函数将过滤后的列表写回文件: ```python with open('file.txt', 'w') as f: f.writelines(lines) ``` 这样就可以删除文件中的空行了。 注意,上述代码在写回文件时会覆盖原文件的内容。如果希望保留原文件的内容,可以将文件的打开模式设为 `'a'`,即追加模式,然后将过滤后的内容追加到文件末尾。 ### 回答2: 要删除文件中的空行,可以使用Python的文件处理方法。以下是一种方法: 首先,可以使用`open()`函数打开要处理的文件,并使用`readlines()`方法读取文件的所有行,并把它们存储在一个列表中。 然后,可以使用列表推导式和条件判断来筛选掉空行。在列表推导式中,使用strip()方法去掉每行两边的空格,然后检查该行是否为空行(即长度为0),如果不是空行,则保留该行。 接下来,可以使用`open()`函数以写入模式打开同一个文件,这将清空原有的文件内容。然后,可以使用`writelines()`方法将处理后的文本写入文件中。 最后,记得关闭文件。 以下是一个示例代码: ```python with open("file.txt", "r") as file: lines = [line.strip() for line in file.readlines() if len(line.strip()) > 0] with open("file.txt", "w") as file: file.writelines("\n".join(lines)) ``` 以上代码假设要处理的文件名为`file.txt`,你可以根据实际情况修改文件名。 需要注意的是,该代码会直接修改原始文件,所以请务必提前进行备份,以防止数据丢失。 ### 回答3: Python中可以使用以下方法删除文件中的空行: ```python def remove_empty_lines(filename): # 打开文件并读取内容 with open(filename, 'r') as file: lines = file.readlines() # 删除空行 non_empty_lines = [line for line in lines if line.strip()] # 将删除空行后的内容重新写入文件 with open(filename, 'w') as file: file.writelines(non_empty_lines) ``` 使用以上代码,可以通过调用 `remove_empty_lines(filename)` 函数来删除指定文件中的空行。其中,`filename` 是需要操作的文件的路径。 此方法首先打开文件,并使用 `readlines()` 方法读取文件的所有行到一个列表中。然后,使用列表推导式构建一个新的列表,其中只包含非空行(使用 `line.strip()` 将每一行的前后空白字符去除后判断是否为空)。最后,使用 `writelines()` 方法将新的列表内容重新写入文件,覆盖原有内容,从而删除了文件中的空行。 以上是一种简单且常用的方法,可以在Python删除文件中的空行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值