Команда file
может сообщить вам тип файла (ASCII, юникод, двоичный и т. Д.).
$ file my_file.txt
my_file.txt: ASCII text
Таким образом, вы можете просто проверить, содержит ли вывод слово «ASCII», и это должно работать:
if [[ file my_file.txt | grep -i ascii ]] ...
Ошибка, по-видимому, связана с использованием set
литерального синтаксиса {':all:'}
.
Создание set
с использованием литерала {}
было введено в Python 3.1 и перенесено в версию 2.7 .
Поскольку вы используете интерпретатор Python 2.6, который не имеет синтаксиса (и недавно был выпущен EOL -), вы получаете SyntaxError
, как и ожидалось.
Одним из решений может быть глобальное обновление версии Python, но вы должны быть абсолютно уверены, так как это вполне может привести к поломке важных системных компонентов .
Другим и гораздо лучшим вариантом было бы использование виртуальной среды для интерпретатора Python (, например.virtualenv
).