Так что я пытаюсь найти строку из файла. Мой код выглядит так:Поиск строки в файле
fname=open('results', 'r')
lines=fname.readlines()
for i in lines:
print i
s=lines[41]
x= "0x80000680: 0x00000000\n"
if (i == x) :
stuff happens
Мой код читает файл, который просто находит строку. который соответствует 'x', но он не входит в оператор if. Что-то заметило, что когда он выводит строку на выходе, у нее больше пробелов, но, глядя на переменную, она имеет только один. Я попытался разместить одинаковое количество пробелов для обоих результатов, но я все еще не могу войти в оператор if. Вот вывод «i», когда я печатаю его, когда он добирается до этой строки: 0x80000680: 0x00000000
и он выглядит как: str: 0x80000680: 0x00000000\n
когда я смотрю на переменные. Если я смотрю на й в переменной она показывает str: 0x80000680: 0x00000000\n
Try 'печать магнезии (I)'. Мое лучшее предположение было бы в том, что фактическая строка, о которой идет речь, это «0x80000680: \ t0x00000000 \ n» или что-то подобное. – smarx
Пространства также являются символами. Если он не входит в 'if', это означает, что это не та же строка, что и' x'. Вы можете рассмотреть возможность использования регулярного выражения (хотя это может быть излишним), чтобы соответствовать только той части строки, которую вы хотите. – kirkpatt
не показывал бы специальные символы, такие как \ t, что-то показывает \ n? @smarx –