2016-12-22 1 views
0

私は約100個のフォルダにランダムな名前を付けています。 、... 100。 これらのフォルダの中には、いくつかの文字列を含むテキストファイルがあります。 例:sample.txt。特定の文字列がテキストファイルにある場合、フォルダ内からテキストファイルを読み込み、名前を保存する - Python

テキストファイルはすべて同じ名前ですが、異なるフォルダにあります。 私が必要とするのは、これらのフォルダ内のファイルを読み込み、これらのファイル内のテキストを読み取り、これらのテキストファイルの場所をプリントアウトまたは保存することです。

ファイルから行を読み込み、それが自分のpwd内にある場合にのみ、その行を読み込む方法を知っています。 は私はそのために以下のコードを使用します。

with open(r'Example.txt', 'r') as infile_txt: 
    for line in infile_txt: 
     if r"sample" in line: 
      print line 

にはどうすれば内部のフォルダからファイルを読み込み、これらのフォルダの名前を録音することができますか?

答えて

1

osを使用できます。例:

import os 
list_downloads = os.listdir("C:/Users/user/Downloads") 

これにより、すべてのサブフォルダとファイルがリストに表示されます。その後、リストをトラバースして必要なサブフォルダを見つけ、アクションを繰り返すことができます。

+0

ありがとうございました。私は、インポートとフォーマットについてはわかりませんでした。これは確かに助けになりました。 –

0
import os 
import re 
from os.path import join, getsize 

with open('output.txt','w') as out_file: 
    for root,subFolders, files in os.walk(r"C:\Users\USER007\Desktop\Python Scripts\Reading metadata\files"): 
     if r'MetaData.txt' in files: 
      with open(os.path.join(root, 'MetaData.txt'), 'r') as in_file: 
       for lines in in_file: 
        if r'THIS' and r'THAT' and r'THOSE' in lines: 
         print root 

上記のコードは私に役立ちました。

関連する問題