Как читать в QListWidgetItem, игнорируя все символы '\r'? [Дубликат]

@jatanp: или еще лучше, они могут декомпилировать, удалить код лицензирования и перекомпилировать. С Java я действительно не думаю, что есть правильное, надежное решение этой проблемы. Даже злой маленький ключ может помешать этому с помощью Java.

Мои менеджеры по бизнесу беспокоятся об этом, и я думаю слишком много. Но опять же, мы продаем наше заявление в крупных корпорациях, которые склонны соблюдать условия лицензирования - как правило, это безопасная среда благодаря счетчикам бонусов и юристам. Акт декомпиляции может быть незаконным, если ваша лицензия написана правильно.

Итак, я должен спросить, действительно ли вы действительно нуждаетесь в усиленной защите, например, ищете свою заявку? Как выглядит ваша клиентская база? (Корпорации? Или подростковые массы геймеров, где это будет больше проблемой?)

4
задан HittmanA 7 March 2016 в 04:15
поделиться

2 ответа

Простым решением является удаление конечных пробелов:

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()
9
ответ дан cdarke 16 August 2018 в 10:00
поделиться
  • 1
    Хорошо спасибо, я попробую это! – HittmanA 6 March 2016 в 20:00
  • 2
    Кажется, это не работает. Я попробовал, и это не изменило его. – HittmanA 6 March 2016 в 20:05
  • 3
    Была опечатка (корректирующий текст OS X), strip должен был быть rstrip. – cdarke 6 March 2016 в 20:06
  • 4
    О, хорошо спасибо !!! – HittmanA 6 March 2016 в 20:08
  • 5
    Он говорит, что объект str не имеет декодирования атрибута. Я не преобразовываю данные байта в строку в любом месте кода, так почему я могу получить эту ошибку? – HittmanA 7 March 2016 в 04:13

Одно простое решение - просто снять последние два символа каждой строки:

f = open('yourfile')
for line in f.readlines():
  line = line[:-2] # Removes last two characters (\r\n)
  print(repr(line))
0
ответ дан will.fiset 16 August 2018 в 10:00
поделиться
  • 1
    Как удалить элементы\r и\n? – HittmanA 6 March 2016 в 19:54
  • 2
    Это удаляет\r\n, если они находятся в конце каждой строки файла – will.fiset 6 March 2016 в 19:55
  • 3
    О, хорошо, спасибо! – HittmanA 6 March 2016 в 19:56
  • 4
    Но ... это ... не имеет ничего общего с исходной проблемой – Matti Virkkunen 6 March 2016 в 20:01
  • 5
    Это нехороший подход! Если строка заканчивается чем-то другим, она будет удалена и вы потеряете данные. – Worker 25 May 2017 в 07:18
Другие вопросы по тегам:

Похожие вопросы: