[Tutor] script guidelines

renukesh nk renukeshnk15 at gmail.com
Tue Oct 3 04:48:23 EDT 2017


requirement:
i have a directory , that contains multiple sub directories, each sub
directory has multiple text and log files, my script fetches  the required
lines from all the sub directories and stores it in one text file.

but i want it to store separate text file for each  sub directory ,after
fetching the contents. can anyone please help me where to edit my script.

my script is currently dumping all in on file instead of separate file for
each directory.
-------------- next part --------------


import zipfile,fnmatch,os

import os, shutil, re, glob
from os.path import isfile, join
from os import walk

root_src_dir = r'E:\\New folder'
root_dst_dir = "E:\\destination"

for src_dir, dirs, files in os.walk(root_src_dir):
    dst_dir = src_dir.replace(root_src_dir, root_dst_dir, 1)
    if not os.path.exists(dst_dir):
        os.makedirs(dst_dir)
    for file_ in files:
        src_file = os.path.join(src_dir, file_)
        dst_file = os.path.join(dst_dir, file_)
        if os.path.exists(dst_file):
            os.remove(dst_file)
        shutil.copy(src_file, dst_dir)

rootPath = r"E:\\destination"
pattern = '*.zip'
for root, dirs, files in os.walk(rootPath):
    for filename in fnmatch.filter(files, pattern):
        print(os.path.join(root, filename))
        zipfile.ZipFile(os.path.join(root, filename)).extractall(os.path.join(root, os.path.splitext(filename)[0]))


    os.chdir(rootPath)
    for file in glob.glob(pattern):
        f = open((file.rsplit(".", 1)[0]) + "ANA.txt", "w")

        f.close()


##here folder output
mypath =r"E:\\destination"
newpath = os.path.expanduser("E:\\destination")
filenam = "1.txt"

f = []
path = ''
path1 = []

for (dirpath, dirnames, filenames) in walk(mypath):
    if isfile(join(mypath, dirpath)):
        path1.extend(join(mypath, dirpath))
    if os.path.isdir(join(mypath, dirpath)):
        for f in filenames:
            path1.append(str(join(mypath, dirpath, f)))
print(path1)

newf = open(os.path.join(newpath, filenam ), "w+")

myarray = {"ERROR", "error"}
for element in myarray:
    elementstring = ''.join(element)


for f in path1:
    openfile = open(os.path.join(path, f), "r")
    for line in openfile:
        if elementstring in line:
         newf.write(line)


newf.close()
openfile.close()




More information about the Tutor mailing list