多数のサブディレクトリを含むディレクトリがあります。
ディレクトリの下部には、2 行目を抽出する必要がある .txt ファイルがいくつかあります。
import os
import os.path
import linecache
for dirpath, dirnames, filenames in os.walk("."):
for filename in [f for f in filenames if f.endswith(".txt")]:
#print os.path.join(dirpath, filename)
#print filename
print linecache.getline(filename, 2)
すべてのディレクトリを正常に解析し、すべてのテキスト ファイルを見つけることができました。しかし、 linecache.getline は改行を返すだけです (ファイルのその行からのデータがあるはずです)。使用する
print linecache.getline(filename, 2).rstrip('\n')
これも解決しません。
各ディレクトリのファイル名だけを正しく出力できますが、これらを linecache に渡すことが問題になる可能性があります。linecache.getline(file, lineno.)
現在のディレクトリにある 1 つの .txt ファイルに対してスクリプトを実行するだけで、正常に使用できます。