Лучший метод для чтения новой строки разграничил файлы и отбрасывание новых строк?

Попробуйте это

class UpdateProfileView(LoginRequiredMixin, UpdateView):
    login_url = '/add login link/'
    redirect_field_name = 'add login field'
    model = Profile
    success_url = reverse_lazy('home')
    form_class = update_profile_form
    template_name = 'update_profile.html'

   # add post function if you have

В HTML,

<a href="{% url 'update_profile' profile.user.pk %}">UpdateProfile</a>

В URL,

path('updateProfile/<int:pk>/', views.UpdateProfileView.as_view(), name='update_profile'),
82
задан martineau 11 November 2018 в 18:21
поделиться

6 ответов

lines = open(filename).read().splitlines()
192
ответ дан Doorknob 24 November 2019 в 09:04
поделиться

Вот генератор, который делает то, что Вы запросили. В этом случае использование rstrip достаточно и немного быстрее, чем полоса.

lines = (line.rstrip('\n') for line in open(filename))

Однако Вы, скорее всего, захотите использовать это для избавлений от запаздывающих пробелов также.

lines = (line.rstrip() for line in open(filename))
23
ответ дан TimoLinna 24 November 2019 в 09:04
поделиться
for line in file('/tmp/foo'):
    print line.strip('\n')
8
ответ дан David Z 24 November 2019 в 09:04
поделиться

Просто используйте выражения генератора:

blahblah = (l.rstrip() for l in open(filename))
for x in blahblah:
    print x

Также я хочу отговорить Вас от чтения целого файла в памяти - цикличное выполнение по генераторам намного более эффективно на больших наборах данных.

4
ответ дан 24 November 2019 в 09:04
поделиться

Я использую это

def cleaned( aFile ):
    for line in aFile:
        yield line.strip()

Затем, я могу сделать вещи как это.

lines = list( cleaned( open("file","r") ) )

Или, я могу расширить убранный с помощью дополнительных функций к, например, отбросить пустые строки или пропустить строки комментария или что бы то ни было.

3
ответ дан S.Lott 24 November 2019 в 09:04
поделиться

Я сделал бы это как это:

f = open('test.txt')
l = [l for l in f.readlines() if l.strip()]
f.close()
print l
2
ответ дан S.Lott 24 November 2019 в 09:04
поделиться
Другие вопросы по тегам:

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