在很多时候,需要对多个文件进行同样的或者相似的处理。例如,你可能会从多个文件中选择数据子集,根据多个文件计算像总计和平均值这样的统计量。当文件数量增加时,手动处理文件的可能性会减小,出错的概率会增加。
基于这种情况,今天就使用Python语言,编写一个命令行小工具。来读取多个文件中的数据。
具体操作分为以下几步:
(1)要读取多个文件,需要我们创建多个文本文件。新建一个工程目录,名称叫做batch_read_file,然后在这个目录下,创建3个文本文件。如,a.txt,b.txt,c.txt,分别写入一些内容。
(2)为3个文件,a、b、c添加数据。
# a.txt的数据
hello
world
# b.txt的数据
javascript
vue
react
# c.txt的数据
data
2019
(3)测试文件创建完成后,来编写具体的程序吧。程序中主要使用到了os模块和glob模块。新添加脚本batch_read_script.py。开始编写程序:
import sys,glob,os
print("开始读取文件:")
input_path = sys.argv[1]
for input_path in glob.glob(os.path.join(input_path,'*.txt')):
with open(input_path,'r',newline='') as file_reader:
for row in file_reader:
print("{}".format(row.strip()))
print("所有文件数据读取完毕")
运行程序:
$ python batch_read_script.py ./
运行结果:
data
2019
javascript
vue
react
hello
world
学会这项技术的一个巨大好处是它可以规模化扩展,它可以轻松扩展为处理几十、几百或几千个甚至更多的文件。感谢您的阅读。