Reversi text board parsing to bitfield
def parse_board(board):
    def map_black(spot):


This name suggests that the function is a variant on map. Whereas its actually intended to be used as a parameter on map

         return str(int(spot == 'B'))
    def map_white(spot):
         return str(int(spot == 'W'))


Both functions are very similiar, can you refactor?

    blackInit = '0b'
    whiteInit = '0b'


The python style guide suggest 'lowercase_with_underscores' for local variable names

    for line in board:
        squares = line.split('|')
        blackInit = blackInit + ''.join(map(map_black,squares))
        whiteInit = whiteInit + ''.join(map(map_white,squares))


Repeatedly adding strings is not very efficient python.

    return (blackInit,whiteInit)


Everything in your function is done twice. Once for 'B' and once for 'W'. I'd suggest you should have a function that takes 'B' or 'W' as parameter, and call that twice.

Here's how I'd tackle this:

def bitstring_from_board(board, letter):
    bits = []
    for line in board:
        bits.extend( spot == letter for spot in line.split('|') )
    return '0b' + ''.join(str(int(x)) for x in bits)

def parse_board(board):
    return bitstring_from_board(board, 'B'), bitstring_from_board(board, 'W')