在python中使用arg parse模块读取多个文件

在python中使用arg parse模块读取多个文件,python,Python,我想使用arg parse模块一次打开多个文件。以下是仅打开一个文件的代码。请帮助我打开多个文件 import argparse import csv parser = argparse.ArgumentParser() parser.add_argument('filename',type=argparse.FileType('r'), help='open a certain file',nargs='*') args = parser.parse_args() file_name=args

我想使用arg parse模块一次打开多个文件。以下是仅打开一个文件的代码。请帮助我打开多个文件

import argparse
import csv
parser = argparse.ArgumentParser()
parser.add_argument('filename',type=argparse.FileType('r'), help='open a certain file',nargs='*')
args = parser.parse_args()
file_name=args.filename
next(file_name)
dic=csv.DictReader(file_name,delimiter=',')
for reading in dic:
    print(reading)
问题:帮助我打开多个文件。。。要使用关键字year打开文件吗

使用带有通配符和关键字参数的文件路径,例如:

注意:如果Foldername与关键字冲突,则必须从Filepath中提取文件名部分并与文件名匹配

用法:


使用Python:3.4.2进行测试

您尝试了什么?一些循环?显示一些努力。我有100多个扩展名为.txt的文件。我只想使用关键字year打开文件。例如[lahore_weather_1996_Dec.txt]。我想遍历所有文件并打开其中包含关键字1996的所有文件。我为空,不知道如何操作。您的方法将打开文件句柄。您需要文件名,如果筛选器匹配,则手动打开。我如何手动打开100多个文件?我们可以通过提供包含多个文件的文件夹的路径来做到这一点吗?然后遍历每个文件名并获得我们选择的文件?这不是一个真正的答案,但我发现对于命令行解析来说,它是一个非常优秀的库。显然,在之前。大多数shell将扩展通配符,以便python解释器将看到实际的文件名,而不是字符串“*.txt”。
import argparse, glob, csv
parser = argparse.ArgumentParser()
parser.add_argument('filepath', help='Path to File, could have Wildcards', nargs=1)
parser.add_argument('keyword', help='Keyword in Filepath', nargs=1)
args = parser.parse_args()

# Use glob to expand the Wildcards
# Loop the List of File Path
for fpath in glob.glob(args.filepath[0]):

    # Condition True if Keyword in Filepath
    if fpath.find(args.keyword[0]) >= 0:
        print('MATCH({})'.format(fpath))

        # Open this File an process it
        with open(fpath) as fh:
            dic = csv.DictReader(fh, delimiter=',')
            for reading in dic:
                print(reading)
python DictReader.py *.txt 1996