【发布时间】:2013-07-05 21:42:20
【问题描述】:
我正在使用 Ashwini Chaudhary 建议的这种方法,将特定格式的文本文件中的数据分配给字典。
keys = map(str.strip, next(f).split('Key\t')[1].split('\t'))
words = map(str.strip, next(f).split('Word\t')[1].split('\t'))
文本文件的行标题后跟值,以\t 字符分隔。
示例 1:
Key a 1 b 2 c 3 d 4
Word as box cow dig
如何更改我的代码不读取文件中的所有行,而只读取特定行?应该忽略我不想阅读的额外行:
示例 2 - 忽略 LineHere 和 OrHere 行:
LineHere w x y z
Key a 1 b 2 c 3 d 4
OrHere 00 01 10 11
Word as box cow dig
或者,如果我想读取标题为“Word” XOR 'Letter' 的行,无论哪个恰好在文件中。所以扫描示例 1 或 2 的代码也适用于:
示例 3 - 我想阅读 Key 和 Letter 行:
LineHere w x y z
Key a 1 b 2 c 3 d 4
OrHere 00 01 10 11
Letter A B C D
请随时对问题批评发表评论,我很乐意重新措辞/澄清问题。
作为参考,前身question链接在这里
非常感谢,
亚历克斯
【问题讨论】:
-
请说明,什么是f。我认为这是一个文件对象。也不清楚你的意思是什么特定的异常('我会做些什么来处理以下异常')?
-
@sergzach 我现在已经编辑了这个问题。现在清楚了吗?
-
为什么将“您不想阅读的额外行”称为“例外”?您的意思是:“如何更改我的代码不读取文件中的所有行,而只读取特定行?”?
-
'Key'行数据用空格隔开,'Word'行数据用制表符隔开?
-
@sergzach 是的,这就是我的意思。我已经更新了问题
标签: python exception exception-handling text-files