ディレクトリにファイルをリストし、Pythonを使って各ファイルを読み込むヘルプが必要です。私はシェルコマンドを使ってこれを行う方法を知っていますが、それを行うPythonの方法はありますか?最後に修正された10個のファイルをリストし、すべての10個のファイルの各行を読み込むPython
私はしたいと思います:
1)ディレクトリ内のすべてのファイルを一覧表示します。
2)私ができるシェルコマンドを使用して、すべての10個のファイル
の各行を読んで、好ましくは、ワイルドカードを使用して、最後の10最新/変更されたファイル()
3)をつかむ:
Linux_System# ls -ltr | tail -n 10
-rw-rw-rw- 1 root root 999934 Jul 26 01:06 data_log.569
-rw-rw-rw- 1 root root 999960 Jul 26 02:05 data_log.570
-rw-rw-rw- 1 root root 999968 Jul 26 03:13 data_log.571
-rw-rw-rw- 1 root root 999741 Jul 26 04:20 data_log.572
-rw-rw-rw- 1 root root 999928 Jul 26 05:31 data_log.573
-rw-rw-rw- 1 root root 999942 Jul 26 06:45 data_log.574
-rw-rw-rw- 1 root root 999916 Jul 26 07:46 data_log.575
-rw-rw-rw- 1 root root 999862 Jul 26 08:59 data_log.576
-rw-rw-rw- 1 root root 999685 Jul 26 10:15 data_log.577
-rw-rw-rw- 1 root root 999633 Jul 26 11:26 data_log.578
Linux_System# cat data_log.{569..578}
を
globを使用すると、ファイルをリストして特定のファイルを開くことができますが、最後の10個の変更されたファイルのみをリストして、ワイルドカードファイルリストをオープン関数にどのように送ることができないのか分かりません。
import os, fnmatch, glob
files = glob.glob("data_event_log.*")
files.sort(key=os.path.getmtime)
print("\n".join(files))
data_event_log.569
data_event_log.570
data_event_log.571
data_event_log.572
data_event_log.573
data_event_log.574
data_event_log.575
data_event_log.576
data_event_log.577
data_event_log.578
with open(data_event_log.560, 'r') as f:
output_list = []
for line in f.readlines():
if line.startswith('Time'):
lineRegex = re.compile(r'\d{4}-\d{2}-\d{2}')
a = (lineRegex.findall(line))
あなたが今までに書いたコードを、具体的にあなたが立ち往生した場所で共有してください。 – smarx
ワイルドカードはどういう意味ですか? – ritlew
'ファイル内のファイル[-10:]:'? –