ロークシュ:
私は複数のサブフォルダのフォルダを持っています。各サブフォルダ内には、私は、複数の.txtファイルを持っています。
for root, dirs, files in os.walk(path):
print(files)
Out:
['1.txt', '2.txt', '3.txt', '4.txt']
['1.txt', '2.txt', '3.txt', '4.txt', '5.txt', '6.txt', '7.txt', '8.txt']
['1.txt', '2.txt', '3.txt', '4.txt', '5.txt', '6.txt']
['1.txt', '2.txt', '3.txt', '4.txt', '5.txt']
私は、各サブフォルダ内のテキストファイルを結合して1つの文字列として、それぞれを返すようにしたいです。
私は次のことを試してみました:
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.txt'):
with open(os.path.join(root, file), 'r') as f:
text = f.read()
しかし、私は別の文字列として各txtファイルのテキストを取得しています。私は、(上記のような)各サブフォルダのためのリストのいずれかでそれらをしたいか、単一の文字列にサブフォルダ内の各TXTに参加し、4列ではなく、23の出力を取得します。
DBAT:
あなたはそのような各読み取りの繰り返しで文字列の連結を使用することができます。
for root, dirs, files in os.walk(path):
text = ''
for file in files:
if file.endswith('.txt'):
with open(os.path.join(root, file), 'r') as f:
text += f.read()
print(text)