我有 37 个数据文件需要使用 python 打开和分析。与其用大量的 open() 和 close() 语句蛮力我的代码,有没有一种简洁的方法来打开和读取大量文件?
问问题
643 次
4 回答
0
使用称为函数的神秘功能。
def slurp(filename):
"""slurp will cleanly read in a file's contents, cleaning up after itself"""
# Using the 'with' statement will automagically close
# the file handle when you're done.
with open(filename, "r") as fh:
# if the files are too big to keep in-memory, then read by chunks
# instead and process the data into smaller data structures as needed.
return fh.read()
data = [ slurp(filename) for filename in ["data1.dat", "data2.dat", "data3.dat"]]
您还可以结合整个事情:
for filename in ["a.dat", "b.dat", "c.dat"]:
with open(filename,"r") as fh:
for line in fh:
process_line(line)
等等...
于 2013-06-11T23:23:16.940 回答
0
使用文件名字典来处理文件句柄,然后遍历这些项目。或元组列表。或者二维数组。或或或...
于 2013-06-11T22:54:30.833 回答
0
使用标准库文件输入模块
在命令行中传入数据文件并像这样处理
import fileinput
for line in fileinput.input():
process(line)
这将遍历命令行中传入的所有文件的所有行。该模块还提供了帮助函数,让您知道当前所在的文件和行。
于 2013-06-11T23:21:51.157 回答
0
您将不得不为您希望读取的每个文件打开和关闭一个文件句柄。你对这样做有什么反感?
您是否正在寻找确定需要读取哪些文件的好方法?
于 2013-06-11T22:41:14.463 回答