我想使用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)
答案 0 :(得分:1)
问题:帮我打开多个文件。 ...想要使用关键字年份打开文件
使用带通配符的文件路径和关键字参数,例如:
注意:如果您的Foldername与关键字冲突,则必须从Filepath中提取文件名部分并与文件名匹配。
while(1) {
//pulizia buffer e lettura: 4 BUFFER
switch(b) {
case 0:
bzero(buffer, sizeof(buffer));
n = read(newsockfd, buffer, sizeof(buffer));
if (n < 0) errore("Errore lettura Socket");
b = 1;
break;
case 1:
bzero(buffer2, sizeof(buffer2));
n = read(newsockfd, buffer2, sizeof(buffer2));
if (n < 0) errore("Errore lettura Socket");
b = 2;
break;
case 2:
bzero(buffer3, sizeof(buffer3));
n = read(newsockfd, buffer3, sizeof(buffer3));
if (n < 0) errore("Errore lettura Socket");
b = 3;
break;
case 3:
bzero(buffer4, sizeof(buffer4));
n = read(newsockfd, buffer4, sizeof(buffer4));
if (n < 0) errore("Errore lettura Socket");
b = 0;
break;
}
}
//comunico con gnuplot e invio i miei dati appena letti e caricati sul buffer
fprintf(gnuplot, "plot '-' with lines\n");
for (i = 0; i < NUM_POINTS; i++)
{
fprintf(gnuplot, "%d %d\n", i, buffer[i]);
}
for (i = 0; i < NUM_POINTS; i++)
{
fprintf(gnuplot, "%d %d\n", i+256, buffer2[i]);
}
for (i = 0; i < NUM_POINTS; i++)
{
fprintf(gnuplot, "%d %d\n", i+512, buffer3[i]);
}
for (i = 0; i < NUM_POINTS; i++)
{
fprintf(gnuplot, "%d %d\n", i+768, buffer4[i]);
}
fprintf(gnuplot, "e \n");
<强>用法强>:
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测试:3.4.2