@jatanp: или еще лучше, они могут декомпилировать, удалить код лицензирования и перекомпилировать. С Java я действительно не думаю, что есть правильное, надежное решение этой проблемы. Даже злой маленький ключ может помешать этому с помощью Java.
Мои менеджеры по бизнесу беспокоятся об этом, и я думаю слишком много. Но опять же, мы продаем наше заявление в крупных корпорациях, которые склонны соблюдать условия лицензирования - как правило, это безопасная среда благодаря счетчикам бонусов и юристам. Акт декомпиляции может быть незаконным, если ваша лицензия написана правильно.
Итак, я должен спросить, действительно ли вы действительно нуждаетесь в усиленной защите, например, ищете свою заявку? Как выглядит ваша клиентская база? (Корпорации? Или подростковые массы геймеров, где это будет больше проблемой?)
Простым решением является удаление конечных пробелов:
with open('gash.txt', 'r') as var:
for line in var:
line = line.rstrip()
print(line)
Преимущество rstrip()
с использованием среза [:-2]
заключается в том, что это безопасно и для файлов стиля UNIX.
Однако, если вы хотите избавиться от \r
, и они могут быть не в конце строки, тогда str.replace()
является вашим другом:
line = line.replace('\r', '')
Если вы иметь байтовый объект (это ведущий b'
), вы можете преобразовать его в родную строку Python 3, используя:
line = line.decode()
Одно простое решение - просто снять последние два символа каждой строки:
f = open('yourfile')
for line in f.readlines():
line = line[:-2] # Removes last two characters (\r\n)
print(repr(line))
strip
должен был бытьrstrip
. – cdarke 6 March 2016 в 20:06