在python中加载连续编号的文件

时间:2014-06-02 18:00:59

标签: python file

我有几年的文件遵循一个相当简单的命名结构,这些文件需要读入程序,以便他们的数据可以转储到SQLite数据库中。文件遵循格式<YYYY>/<MM>/<D>.txt我有一些代码可以让我关闭,但它的目的是读取一个具有常量名称而不是更改名称的文件。

相关代码是:

for root, subFolders, files in os.walk(rootdir):
    if fnmatch.fnmatch(file, '*.txt') in files:
        with open(os.path.join(root, '<filename>'), 'r') as log:
            for lines in log:

1 个答案:

答案 0 :(得分:3)

这样的事情:

import os

def list_text_files(root):
    """List all text files below a root directory."""
    for dirpath, dirname, filenames in os.walk(root):
        for filename in filenames:
            if filename.endswith('.txt'):
                yield os.path.join(dirpath, filename)

def load_file(path):
    """Load a file into the database."""
    with open(path) as fp:
        for line in fp:
            pass # code goes here

for file in list_text_files('/home/jhacker/logs'):
    load_file(file)

这将在根目录下加载所有文本文件。如果你想要更好的过滤,你将不得不改变它。