0

多数のサブディレクトリを含むディレクトリがあります。

ディレクトリの下部には、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 ファイルに対してスクリプトを実行するだけで、正常に使用できます。

4

1 に答える 1