mix*_*mix 5 python string file-io
我正在从包含一个[*]字/行的文件中读取行,例如:
dog
cat
person
tree
Run Code Online (Sandbox Code Playgroud)
每个单词还包含换行符\n.我想将它们读入列表并丢弃换行符.我设计的方法是阅读,readlines()然后将列表处理到strip()换行符:
with open('words.txt') as f:
words = f.readlines()
for index, word in enumerate(words):
words[index] = word.strip()
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我不禁想到有一种更有效的方法来执行此操作,在读取过程中去除换行符.但我找不到办法.是否有更高效的东西(同时也考虑可读性等)
[*]更新:我应该提到某些行可能包含多个单词,但在这些情况下,行中的许多单词应该包含在单个列表项中.到目前为止,这两个答案都处理这个问题(就像我自己的代码一样),但我想提一下.
Tim*_*ker 13
你可以使用列表理解:
with open('words.txt') as f:
words = [word.strip() for word in f]
Run Code Online (Sandbox Code Playgroud)
你可以使用map:
with open('words.txt') as f:
words = map(str.rstrip, f)
Run Code Online (Sandbox Code Playgroud)