0
私は多数のサブディレクトリを持つディレクトリを持っています。Python:linecache.getlineが意図したとおりに動作しない
ディレクトリの最後には、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')
これも解決しません。
私は各ディレクトリのファイル名だけを正しく表示することができますが、これらをラインキャッシュに渡すことは潜在的に問題であるようです。現在のディレクトリの1 .txtファイルでスクリプトを実行するだけで、linecache.getline(file, lineno.)
を正常に使用することができます。