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

Python脚本读取/etc/shadow后列表未换行显示问题求助

问题描述

我正在编写Python脚本读取/etc/shadow文件,想把内容以列表形式展示,但输出是一串用逗号分隔的长文本,每个元素没有单独换行。之前解决过这个问题,后来改成字典实现又改回列表,现在需要让每个shadow文件的行输出后自动换行。

当前使用的代码:

with open('/etc/shadow', 'r') as file:
     lines = [line.rstrip() for line in file]
     print(lines)

实际输出是逗号分隔的列表元素,期望每个元素单独占一行。

解决方案

方法1:循环遍历列表逐个打印

遍历生成的lines列表,逐个打印元素,print()默认会在每个元素后添加换行符:

with open('/etc/shadow', 'r') as file:
     lines = [line.rstrip() for line in file]
     for line in lines:
         print(line)

方法2:用换行符拼接列表后打印

将列表元素通过换行符\n拼接成单个字符串,再一次性打印:

with open('/etc/shadow', 'r') as file:
     lines = [line.rstrip() for line in file]
     print('\n'.join(lines))

方法3:直接读取并打印每行(无需存储列表)

如果不需要保留lines列表做后续操作,可以直接在读取文件时打印每行,省去列表生成步骤:

with open('/etc/shadow', 'r') as file:
     for line in file:
         print(line.rstrip())  # 去掉原行末尾的换行符,避免出现多余空行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:22:16