Как я могу ввести конечное количество чисел при вызове из текстового файла в переменной?

avatar
Spvda
8 августа 2021 в 22:40
51
1
0

Я пытаюсь вызвать текстовый файл следующим образом:

with open (r'C:\1\number.txt') as codes_1:
    newcodes = [line.rstrip ("\n") for line in codes_1]

Переменная code определяется (на веб-сайте) максимум 10 числами, которые вы можете ввести, и больше нельзя добавлять.

code = wait.until(EC.element_to_be_clickable((By.NAME, "code")))
code.send_keys("".join(newcodes)[0:9])

Текстовый файл содержит следующее (фрагмент txt):

File.txt:
123434132
940328334

Я запрещаю добавление следующей строки к предыдущей:

1234341329

Проблема в том, что при попытке добавить в переменную newcodes и вставить построчно в соответствии с длиной строк, которые есть в текстовом файле, происходит сбой, потому что когда "940328334" добавляется к предыдущему, страница не распознает новый код, который был сформирован, и вылетает..

Мне пришло в голову попробовать определить новую переменную с именем

limit = ("".join(newcodes)[:9])

где 9 — максимальное количество цифр, которые можно ввести, больше не разрешено.

Но пример, который я вам привел, у меня не работает. Как это исправить?

Источник
enzo
8 августа 2021 в 22:52
2

Что вы подразумеваете под "вылетает" и "не работает"?

Spvda
8 августа 2021 в 22:55
0

При добавлении следующей строки к предыдущей страница не распознает сформированный новый код и вылетает.

Karl Knechtel
8 августа 2021 в 23:23
1

Я не могу понять, что вы имеете в виду. Пожалуйста, покажите полный пример: покажите достаточно кода, чтобы кто-то другой мог скопировать и вставить его и запустить, чтобы увидеть проблему; показать, что именно происходит, когда вы пытаетесь использовать этот код; и объясните, что именно должно произойти вместо этого.

Xitiz
9 августа 2021 в 00:15
0

В дополнение к Карлу, также попробуйте предоставить ожидаемый результат. Вы хотите первые 9 символов или 10 символов, я запутался.

Spvda
9 августа 2021 в 00:22
0

Сначала 9, но это определяется лимитом в 10.

Ответы (1)

avatar
Xitiz
9 августа 2021 в 00:26
2

Я думаю, вы пытаетесь сделать это :

with open("file.txt","r") as f:
    print([x.rstrip("\n")[:9] for x in f.readlines()])

.readlines() прочитает каждую строку и составит ее список, и мы перебираем этот список и выбираем из него только первые 9 символов..

Spvda
9 августа 2021 в 00:32
1

Да, это работает! Это именно то, что я пытался сделать. Извините, что не очень хорошо объяснил, мой английский не очень хорош. Спасибо!

Xitiz
9 августа 2021 в 00:32
0

Я рад, что это помогло. :)