我有几年的文件遵循一个相当简单的命名结构,这些文件需要读入程序,以便他们的数据可以转储到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:
答案 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)
这将在根目录下加载所有文本文件。如果你想要更好的过滤,你将不得不改变它。