How to read and write multiple files?

后端 未结 8 1140
南方客
南方客 2020-12-24 00:52

I want to write a program for this: In a folder I have n number of files; first read one file and perform some operation then store result in a separate file. Then

8条回答
  •  情话喂你
    2020-12-24 01:13

    Combined answer incorporating directory or specific list of filenames arguments:

    import sys
    import os.path
    import glob
    
    def processFile(filename):
        fileHandle = open(filename, "r")
        for line in fileHandle:
            # do some processing
            pass
        fileHandle.close()
    
    def outputResults(filename):
        output_filemask = "out"
        fileHandle = open("%s.%s" % (filename, output_filemask), "w")
        # do some processing
        fileHandle.write('processed\n')
        fileHandle.close()
    
    def processFiles(args):
        input_filemask = "log"
        directory = args[1]
        if os.path.isdir(directory):
            print "processing a directory"
            list_of_files = glob.glob('%s/*.%s' % (directory, input_filemask))
        else:
            print "processing a list of files"
            list_of_files = sys.argv[1:]
    
        for file_name in list_of_files:
            print file_name
            processFile(file_name)
            outputResults(file_name)
    
    if __name__ == '__main__':
        if (len(sys.argv) > 1):
            processFiles(sys.argv)
        else:
            print 'usage message'
    

提交回复
热议问题