python 3 ссылки объединяются из файла и списка - PullRequest
1 голос
/ 16 января 2020

У меня есть файл с несколькими URL-адресами и списком с URL-путями. Я пытаюсь объединить или объединить их вместе с URL-путями в списке. У меня много проблем с попыткой заставить это работать.

файл имеет URL-адреса, подобные этому

foobar.com
foobar.com.tk
foobar.org
list1 = ['/foobar.php','/foobar.html','/foobar.php']

with open('file1.txt') as f:
    Nlist = [line.strip() for line in f]

Я не знаю, имеет ли это значение или нет, но файл с URL не имеет заголовка http: //, и когда я пытаюсь объединить URL из списка с путями, я получаю сообщение об ошибке, или весь код сгруппирован ... Как мне присоединить URL из файла с путями из списка?

Ответы [ 2 ]

1 голос
/ 16 января 2020
list1 = ['/foobar.php','/foobar.html','/foobar.php']

with open('file1.txt') as f:
    Nlist = [line.strip() for line in f]

for i in range(len(Nlist)):
    pth = 'https://' + Nlist[i] + list1[i]
    print(pth)

os.path.join() не похоже на все точки, поэтому кажется, что вам приходится прибегать к собственному объединению.

1 голос
/ 16 января 2020

Вы можете получить любую комбинацию URL с помощью itertools.product:

from itertools import product
from pprint import pprint

list1 = ["/foobar.php", "/foobar.html", "/foobar.php"]

with open("file1.txt") as f:
    pprint(
        set(
            "https://%s%s" % (root, path)
            for root, path in product(map(str.strip, f), list1)
        )
    )

URL:

{'https://foobar.com.tk/foobar.html',
 'https://foobar.com.tk/foobar.php',
 'https://foobar.com/foobar.html',
 'https://foobar.com/foobar.php',
 'https://foobar.org/foobar.html',
 'https://foobar.org/foobar.php'}

Примечание: Вы можете использовать set() здесь, чтобы удалить дубликаты URL-адресов из результата.

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