пытаясь напечатать читаемую человеком строку ascii - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь напечатать строку, удобную для чтения ascii, но не получаю никакого вывода.Чего мне не хватает?

import string
file = open("file.txt", "r")
data = file.read()
data = data.split("\n")
for line in data:
    if line not in string.printable:
        continue
    else:
        print line

1 Ответ

0 голосов
/ 27 января 2019

Если содержимое вашего файла является текстовым, вы должны читать файлы следующим образом:

import string
with open("file.txt", "r") as file:
    for line in file:
        if all( c in string.printable for c in line):
            print line

Вы должны проверить каждый символ индивидуально, чтобы убедиться, что он пригоден для печати.Есть еще один пост о проверке того, что строка пригодна для печати: Проверьте, пригодна ли для печати строка Python

Также вы можете прочитать о менеджере контекста о том, как правильно открыть файл: Чтосамый питонный способ открыть файл?

...