Read the contents of each file into a separate list in Python

时间:2016-10-15 17:06:06

标签: python bash list glob

I would like to ready the contents of each file into a separate list in Python. I am used to being able to do something similar with a bash for loop where I can say:

for i in file_path; do writing stuff; done

With glob I can load each of the files but I want to save the contents in a list for each file to use them for comparison purposes later without hardcoding the names and number of lists. This is how far I have gotten in python:

import sys
import glob
import errno

list_$name[] ##<this is not python

path = './dir_name/*'   
files = glob.glob(path)   
for name in files:
    try:
        with open(name) as f:
            lines = f.read().splitlines()


    except IOError as exc:
        if exc.errno != errno.EISDIR:
            raise

Is what I want to do even possible or do I have to use a shell script to process each file as a loop?

1 个答案:

答案 0 :(得分:1)

import sys
import glob
import errno

list_$name[] ##<this is not python

path = './dir_name/*'   
files = glob.glob(path)

contents = []   
for name in files:
    try:
        with open(name) as f:
            lines = f.read().splitlines()
            contents.append (lines)


    except IOError as exc:
        if exc.errno != errno.EISDIR:
            raise

    # Your contents list will now be a list of lists, each list containing the contents of one file.