<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def table(tab):
 """Access IPTables transactionally in a uniform way. Ensures all access is done without autocommit and that only the outer most task commits, and also ensures we refresh once and commit once. """

    global open_tables
    if tab in open_tables:
        yield open_tables[tab]
    else:
        open_tables[tab] = iptc.Table(tab)
        open_tables[tab].refresh()
        open_tables[tab].autocommit = False
        yield open_tables[tab]
        open_tables[tab].commit()
        del open_tables[tab]