python - 如何根据用户输入从文件中读取特定字符串
问题描述
我有一个列出磁盘驱动器详细信息的文本文件。我希望能够输入一个字符串(例如 0:1:7)并将其下方的所有行(最多 25 行)打印到屏幕(或另一个文件)。
问题是文件中有 2 行包含 0:1:7(一行仅包含 0:1:7,我想要的行,另一行包含“物理磁盘 0:1:7”)所以它打印所有东西两次。我怎样才能只根据第一个打印?忽略“物理磁盘 0:1:7”?
with open("driveDetails.txt", "r") as f:
searchlines = f.readlines()
slot = raw_input("What is the slot position? (e.g. 0:1:0) ")
for i, line in enumerate(searchlines):
if slot in line:
for l in searchlines[i:i+25]: print l,
print
这将打印出包含 0:1:7 +25 行的行,并且它还会根据包含“物理磁盘 0:1:7”+25 行的行再次打印它。
ID : 0:1:7
Status : Ok
Name : Physical Disk 0:1:7
State : Online
Power Status : Spun Up
...
Name : Physical Disk 0:1:7
State : Online
Power Status : Spun Up
...
我只想打印第一套。希望这是有道理的。
解决方案
推荐阅读
- c# - “输入字符串的格式不正确”统一错误
- javascript - React 获取输入类型=文件值
- ios - iOS 键盘扩展:像粘贴一样的拟我表情
- c++ - C++ 中的最新调用
- jsx - Extendscript ActionManager 脚本可以从图层中获取每个通道和颜色模式的位吗?
- android-studio - 在 android studio 3.1.3 中丢失别名密钥密码
- python - 为什么 findnext on beautifulsoup 在每次运行时返回不同的结果
- ios - 弹出后我可以在 Windows 中运行 ios 应用程序吗?
- html - 我的 contenteditable div 的占位符文本不可见?
- java - 需要java gui帮助