2

forループのPythonリスト、すべてを1つのリストにまとめるにはどうすればよいですか

import os
dir="/tmp/logvol/logs/fil/sap/archive/"
n=os.listdir(dir)
#print n

for x in n:
 #print x
 l = [];
 l.append(os.path.join(dir,x))
 print l

出力:

['/tmp/logvol/logs/fil/sap/archive/m.log']
['/tmp/logvol/logs/fil/sap/archive/k.log']
['/tmp/logvol/logs/fil/sap/archive/j.log']
['/tmp/logvol/logs/fil/sap/archive/p.log']

複数のリストではなく、すべてを 1 つのリストにまとめる必要があります。

['/tmp/logvol/logs/fil/sap/archive/m.log', '/tmp/logvol/logs/fil/sap/archive/k.log', '/tmp/logvol/logs/fil/sap/archive/j.log', '/tmp/logvol/logs/fil/sap/archive/p.log']
4

3 に答える 3

5

リストの宣言をlループの外に移動する必要があります。

l = []
for x in n:
 #print x
 l.append(os.path.join(dir,x))

また、Python ではセミコロンは必要ありません。

于 2013-10-24T19:48:08.703 に答える