Глядя на код файла warnings.py, вы не можете назначить более одного действия фильтра предупреждению, и вы не можете (легко) определить свои собственные действия, например, "lift_once".
Однако, если вы хотите выдать предупреждение как исключение, но только один раз, это означает, что вы перехватываете исключение. Почему бы не добавить в ваше предложение исключение строку, которая устанавливает действие «игнорировать» для этого конкретного предупреждения?
#!/usr/bin/python
import warnings
warnings.filterwarnings('error','Test')
for i in range(2):
try:
warnings.warn('Test');
except UserWarning, e:
print "Error caught"
warnings.filterwarnings('ignore','Test')