-1

我有 37 个数据文件需要使用 python 打开和分析。与其用大量的 open() 和 close() 语句蛮力我的代码,有没有一种简洁的方法来打开和读取大量文件?

4

4 回答 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 回答