Почему он печатает 4 раза? - PullRequest
0 голосов
/ 18 сентября 2018

Вот мои два вложенных цикла в Python. Но почему он печатает 4 раза?

links=["/wordpress/wp-admin/install.php", "/wp-admin/install.php"]
f=open('list.txt', 'r').read().split('\n')
for sub_link in range(len(links)):
    sub_link= links[sub_link]
    for line in f:
        line = line.split('/')
        print(line[2]+sub_link)

Хотя я хочу, чтобы он печатался только из моего файла "List.txt", а в List.txt всего две строки.

enter image description here

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Поскольку вы разделили содержимое вашего файла на '\ n', возвращаемое значение представляет собой список строк в файле.

f=open('sample', 'r').read().split('\n') # f is a list of all lines in the file
print(len(f)) # length of the list f is the number of lines in the file

Надеюсь, это поможет

0 голосов
/ 18 сентября 2018

Чтобы выполнить итерацию по обоим массивам одновременно, вы можете сделать это:

for link, line in zip(links, f):
  print(line + link)

Это выведет только 2 значения, которые, как я предполагаю, и есть то, что вы пытаетесь сделать, с выводом:

www.nlpfitnesssolutions.com.au/wordpress/wp-admin/install.php
ethree-asia.com/wp-admin/install.php

Если вы хотите, чтобы дополнительные строки в файле были объединены в чередующийся шаблон, вы можете сделать что-то вроде этого:

for i in range(len(f)):
  print(links[i % 2] + f[i])

Обратите внимание, что i % 2 означает разделить мои 2 и взять остатокпоэтому он чередуется от 0 до 1.

...