У меня 2 файла .py. Назовем их foo.py и list.py
list.py не имеет никакого кода, а просто список, который выглядит следующим образом: allowed = ['a', 'b', 'c']
Это все, что есть в list.py ...
Теперь у foo.py есть код, который в основном использует список внутри list.py, чтобы разрешить только определенные входы (которые должны быть в списке, иначе: передать)
Я добавил код, чтобы иметь возможность добавлять элементы в список изнутри программы, но я не могу этого сделать. Я пробовал использовать функцию append (). Это не вносит изменений в список ...
Пожалуйста, помогите мне отредактировать и внести изменения в список внутри list.py, предоставив для этого правильный код.
Спасибо.
Похоже, что list.py на самом деле должен быть структурой данных, такой как pickle или json, но вам нужно показать свой фактический код.
Можете ли вы заменить файл .py на файл json или yaml? Или вы хотите сохранить .py
И вам действительно, действительно, не следует вызывать модуль list.py, если вы планируете импортировать его в другую программу Python.






Скорее всего, вы отправляете копию списка, когда ваша программа работает, а затем добавляете в этот список, не влияя на исходный список в list.py
Я бы хотел убедиться, что когда вы создаете экземпляр исходного списка в list.py, вы не делаете это таким образом, который означает, что каждый раз, когда вызывается этот блок кода, список определяется снова, когда вы вызываете этот блок кода или снова работать.
Если вы пытаетесь использовать программу в foo.py для явного редактирования файла list.py, вы, вероятно, также можете просто использовать python модуль рассола, который сохраняет состояние объектов python в файл, и тогда вы сможете позже загрузите их как обычно, например:
try:
with open(list, 'r') as file:
yourlist = pickle.load(file)
except(FileNotFoundError):
yourlist = ['someDefaultValue','anotherDefaultValue']
# Your code block, doing whatever you're doing
with open(list, 'w') as file:
pickle.dump(yourlist, file)
Не зная больше о том, на что вы смотрите или что именно вы пытаетесь сделать - трудно дать лучший ответ!
Не могли бы вы, пожалуйста, редактировать и включить свой код? Действительно, нам нужен минимальный воспроизводимый пример. Иначе угадать вашу логику невозможно.