Surgiu a necessidade de verificar se um arquivo tem apenas caracteres ASCII.
O código abaixo resolve esta problema. Para usá-lo é muito simples: basta passar o nome do arquivo que deseja testar.
teste_ascii.py README.md
teste_ascii.py graph.m
#!/usr/bin/env python3
# Arquivo: teste_ascii.py
import sys
if len(sys.argv) != 2:
print(f"Uso: {sys.argv[0]} ARQUIVO", file=sys.stderr)
sys.exit(1)
# Abre o arquivo passado na linha de comando em modo binário
# e lê o conteúdo do arquivo.
fp = open(sys.argv[1], 'rb')
x = fp.read()
# Decodifica o conteúdo do arquivo para ASCII.
# Se houver algum caractere que não é ascii uma exceção será
# lançada.
x.decode('ascii')