【发布时间】:2011-01-12 00:43:46
【问题描述】:
在命名文件中读取最pythonic的方法是什么,去除空行、仅包含空格或将#作为第一个字符,然后处理剩余的行?假设这一切都可以轻松地存储在内存中。
注意:做到这一点并不难——我要的是最pythonic的方式。我已经写了很多 Ruby 和 Java,但已经失去了感觉。
这是一个稻草人:
file_lines = [line.strip() for line in open(config_file, 'r').readlines() if len(line.strip()) > 0]
for line in file_lines:
if line[0] == '#':
continue
# Do whatever with line here.
我对简洁感兴趣,但不以变得难以阅读为代价。
【问题讨论】:
-
所以应该去掉前导/尾随空格的行?
-
只是空格,还是任何空格?
-
@Kevin,您的文字与您的代码不太匹配。你说你会用“#”作为第一个字符来剥离行(顺便说一句,那是前剥离还是后剥离?)但你没有说你会丢弃这些行......但你的示例代码确实跳过了它们.
-
+1 表示使用“简洁”。直到我查到它才认为这是一个真实的词。
标签: python coding-style idioms