В Python вы не используете знак $
для использования переменной.Также, когда вы хотите встроить переменную в строку, вы не можете просто использовать имя переменной в строке.Вы должны сделать что-то вроде этого:
subprocess.Popen(['echo "{}" > file.txt'.format(var)], shell=True)
Этот отличный сайт, который объяснит вам, как использовать .format
метод.