Как удалить пустую [''] из строки в python из текстового файла - PullRequest
1 голос
/ 28 марта 2020
file = open("file path", "r") 
links = file.read().split("\n")
print(links)

выглядит так ['https://www.youtube.com/channel/UCWTgK00SCKKNgpbsAgqzUxw/videos','https://www.youtube.com/watch?v=4Dkl1K3mtHM', '']

Я хочу, чтобы это было так: ['https://www.youtube.com/channel/UCWTgK00SCKKNgpbsAgqzUxw/videos','https://www.youtube.com/watch?v=4Dkl1K3mtHM']

Как мне этого добиться? Есть какой-то конкретный c шаг, который я пропустил? Как удалить '' из списка

Оригинальный текстовый файл: https://www.youtube.com/channel/UCWTgK00SCKKNgpbsAgqzUxw/videos https://www.youtube.com/watch?v=4Dkl1K3mtHM

Ответы [ 3 ]

1 голос
/ 28 марта 2020

В случаях, когда '' находится не только в конце списка, просто выполните итерацию по списку при проверке с условным условием при добавлении в новый список.

links = ['https://www.youtube.com/channel/UCWTgK00SCKKNgpbsAgqzUxw/videos','https://www.youtube.com/watch?v=4Dkl1K3mtHM', '']
new_links = []
for i in links:
    if i != '':
        new_links.append(i)
print(new_links)

Это вернет ['https://www.youtube.com/channel/UCWTgK00SCKKNgpbsAgqzUxw/videos', 'https://www.youtube.com/watch?v=4Dkl1K3mtHM']

1 голос
/ 28 марта 2020

Файлы обычно имеют пустую строку в конце, поэтому вы можете вручную удалить последний элемент:

links = file.read().split("\n")[:-1]

* [:-1] означает «все до и НЕ включая последний элемент».

В качестве альтернативы вы можете отфильтровать все пустые строки (в том числе в середине) с помощью:

links = [line for line in file.read().split("\n") if line and not line.isspace()]

Мы используем list здесь, потому что filter возвращает генератор. line and not line.isspace() означает, во-первых, что строка не пустая (''), а во-вторых, что она состоит не только из пробелов.

0 голосов
/ 28 марта 2020

Вы также можете использовать strip для этого

file = open("file path", "r")
links = file.read().strip().split("\n")
print(links)

strip () - это встроенная функция в Python языке программирования, которая возвращает копию строки с обоими ведущими и завершающие символы удалены (на основе переданного строкового аргумента).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...