You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3技术问题:打印TXT文件1至N行与倒序歌曲列表正序处理

嘿,我来帮你搞定这两个Python文件处理的问题!

问题1:Python3中打印TXT文件第1行到第N行的内容

这里给你两种实用方法,根据文件大小选就行:

方法1:一次性读取(适合小文件)

如果你的文件不大,直接把所有行读到列表里,再切片取前N行,代码写起来超简单:

n = 5  # 把这里换成你需要的具体行数
with open('your_file.txt', 'r', encoding='utf-8') as f:
    lines = f.readlines()
    # 注意列表索引从0开始,所以取0到n-1的元素就是第1到第N行
    for line in lines[:n]:
        print(line.strip())  # strip()用来去掉每行末尾的换行符,避免多空一行

方法2:逐行读取(适合大文件)

要是文件特别大(比如几个G的日志文件),一次性读会占满内存,那就逐行读,读到第N行就停:

n = 5
count = 0
with open('your_file.txt', 'r', encoding='utf-8') as f:
    for line in f:
        count += 1
        print(line.strip())
        if count == n:
            break  # 到第N行就退出循环,不用继续读了
问题2:处理倒序存储的歌曲列表文件

需求很明确:读取songlist.txt(里面是倒序的歌曲列表),转成正确顺序,还要统计还需演唱的歌曲数量。考虑到示例里有重复歌曲,我把“总数量”和“去重后的独特数量”都给你写上了:

# 先读取文件,处理掉空行和换行符
with open('songlist.txt', 'r', encoding='utf-8') as f:
    # 遍历每行,去掉末尾的换行和空白,同时跳过空行
    song_lines = [line.strip() for line in f if line.strip()]

# 反转列表得到正确演唱顺序(因为原文件是倒序存的)
correct_order = song_lines[::-1]

# 统计数量:两种情况都给你
total_songs = len(correct_order)  # 包含重复歌曲的总数量
unique_songs = len(set(correct_order))  # 去重后的独特歌曲数量

# 输出结果
print(f"还需演唱的歌曲总数量(含重复):{total_songs}")
print(f"还需演唱的独特歌曲数量:{unique_songs}")
print("\n正确的演唱顺序:")
for idx, song in enumerate(correct_order, start=1):
    print(f"{idx}. {song}")

解释下:song_lines[::-1]是Python里反转列表的快捷写法,一下子就能把倒序的列表转成正序。统计去重用了集合,因为集合里不会有重复元素,转成集合再取长度就是独特歌曲的数量啦。

内容的提问来源于stack exchange,提问作者dumb_guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:11:03