Я переключаюсь между несколькими компьютерами для работы, и пока мы не запустим сервер для наших данных, мне придется вручную изменить путь к файлу, в котором хранится моя маскировка. Это раздражало меня, так как я много переключаюсь и пути к файлам разные. Итак, я пытаюсь использовать сокет для управления путями к файлам на разных компьютерах. Это код на данный момент:
import socket
hostname = socket.gethostname()
ip_address = socket.gethostbyname(hostname)
if ip_address is '124.0.1.1':
print('Working on laptop 1:')
masked_data = '/mnt/c/Users/file/path/woot/woot'
else:
raise ValueError('Which computer are you on? Need to know for mask filepath...')
exit()
По сути, я хочу вот что: 1) Снять IP с компьютера, 2) если это ноутбук 1, использовать IP с этого компьютера и следовать по пути к файлу , 3) если это не так, поднять ошибку. (Я обновлю это для нескольких компьютеров, но кому здесь нужны сложности?)
Проблема, с которой я столкнулся, заключается в следующем: когда я запускаю скрипт, как показано выше, он пропускает оператор if и выдает ошибка. Но если я добавлю строку, которую выводит строка socket.gethostbyname(hostname)
, она будет работать нормально.
то есть приведенный выше код не работает, а приведенный ниже код:
import socket
ip_address = '124.0.1.1'
if ip_address is '124.0.1.1':
print('Working on laptop 1:')
masked_data = '/mnt/c/Users/file/path/woot/woot'
else:
raise ValueError('Which computer are you on? Need to know for mask filepath...')
exit()
In Я python, когда я запускаю скрипт и проверяю, что такое ip_address, это буквально строка с IP-адресом. то есть
In [1]: hostname = socket.gethostname()
In [2]: ip_address = socket.gethostbyname(hostname)
In [3]: ip_address
Out[3]: '124.0.1.1'
Я не знаю, что происходит, и я не уверен, почему это не работает. Любая помощь приветствуется.