sys.stdout = open ("C: \ Temp \ nw_check.txt", "w +")
print (s.getsockname () [0])
Почему вы устанавливаете файл на стандартный вывод, а затем печатаете вместо простой печати / записи непосредственно в файл?
with open("C:\\Temp\\nw_check.txt", "w+") as f:
print(s.getsockname()[0], file=f)
# of f.write(str(s.getsockname()[0])); f.write('\n')
Проверьте файл C: \ Temp \ nw_check.txt и еслиIP-адрес в этом файле начинается с 116, 115, 117
Почему вы просматриваете промежуточный файл?Почему бы просто не проверить результат s.getsockname() [0]
напрямую?
Кроме этого: 1. Если вы используете приведенный выше код и ниже "с", или находитесь в другом файле, повторно откройтефайл в режиме r
, прочитайте первые 3 символа и проверьте, что вы ищете:
with open("C:\\Temp\\nw_check.txt", "w+") as f:
print(s.getsockname()[0], file=f)
with open(fname, 'r') as f:
if f.read(3) in ('116', '115', '117'):
# etc…
или 2, если вы используете свой исходный код или поместите его в текст
with
выше, ищите (0), чтобы переместить курсор назад к началу файла, затем прочитайте первые 3 символа и проверьте.
sys.stdout.seek(0)
if f.read(3) in ('116', '115', '117'):
# etc…