В секонд объявить переменную и присвоить ей X
#first.py
import second
X = {}
second.A = X
second.print_A()
-----------------
#second.py
A=None
def print_A():
global A
print A
Добавлю еще, что если происходит локальная загрузка second,
то тогда нужно использовать третий модуль:
#first.py
import sheredmod
def first_func():
import second
second.print_X()
sheredmod.X=1
first_func()
sheredmod.X="Hello"
first_func()
#second.py
import sheredmod
def print_X():
print sheredmod.X
#sheredmod.py
X=None