0
それぞれのファイルを繰り返し処理し、各行の空白をトリミングし、返された文字列が空であればその行を削除したいと思います。以下のリスト内の.strip()コールを重複しないようにする方法はありますか?それはパフォーマンス上重要ではありませんが、間違っていると感じます。実際にあなたが本当にしてもファイルを読むために気にしないはずですPythonでのリストの理解における重複関数呼び出しの回避
newlns = [i + "\n" for i in (line.strip() for ln in lns) if i]
:
sub main():
fname = "foo.txt"
lns = []
with open(fname, 'r') as file:
lns = file.readlines()
newlns = [i.strip() + "\n" for i in lns if i.strip()]
#I want this to look like the following, which doesn't work:
#newlns = [y + "\n" for i in lns if i.strip() as y]
with open("out.txt", 'w') as file:
file.writelines(newlns)
私は.readlines()コールが必要ではないことを指摘してくれてありがとう! –