Python"加入"函数就像unix"join"

mat*_*ick 4 python join

我很好奇是否有像unix版本这样的内置python连接函数(参见http://linux.about.com/library/cmd/blcmdl_join.htm).我知道这个功能是通过内置的sqlite3模块包含的,也可能是通过pytables之类的其他模块.

很抱歉,如果这是一个基本问题,但我发现搜索"python join"和相关查询受到标准python join函数的严重污染.此外,如果没有这样的功能,我不希望这么容易找到这些信息.

kob*_*las 6

这是一个连接函数的python版本,不处理所有潜在的错误情况.但是展示了基本的想法.

# usage join(open('f1.txt'), open('f2.txt'))

def join(fd_a, fd_b) :
    result = []
    la = fd_a.readline()
    lb = fd_b.readline()
    while la and lb :
        start_a, rest_a = la.split(' ', 1)
        start_b, rest_b = lb.split(' ', 1)
        if cmp(start_a, start_b) == 0 :
            result.append([start_a, [rest_a, rest_b]])
            la = fd_a.readline()
            lb = fd_b.readline()
        elif cmp(start_a, start_b) < 0 :
            la = fd_a.readline()
        else :
            lb = fd_b.readline()
    return result
Run Code Online (Sandbox Code Playgroud)