Я уверен, что это очень просто, но я не смог заставить его работать правильно. Мне нужно, чтобы мой главный питон скрипт вызова другого питона скрипт и передать переменные из оригинального сценария к сценарию, который я назвалПередача переменной между скриптами python
Так упрощенным например мой первый скрипт,
first.py
x = 5
import second
и мой второй сценарий,
second.py
print x
, и я ожидал бы напечатать х, но я получаю
NameError: name 'x' is not defined
Я не уверен, что импорт правильный путь для достижения этого, но если кто-то может пролить свет на него простым способом, это было бы здорово!
спасибо,
EDIT
После прочтения комментариев я думал, что я бы расширить на мой вопрос. Ответ Aswin Murugesh устраняет проблему импорта, с которой я столкнулся, однако решение не имеет желаемого результата, так как я не могу передать элементы в списке таким образом.
В first.py У меня есть список, который я обрабатываю следующий
for insert, (list) in enumerate(list, start =1):
'call second.py passing current list item'
Я хотел передать каждый элемент в списке, чтобы второй файл питон для дальнейшей обработки (веб-соскоб), я не сделал хотите сделать это в first.py, поскольку это означает, что это основная программа сканирования, которая затем вызывает другие программы. Надеюсь, теперь это имеет больше смысла.
Спасибо за комментарии.
Есть ли способ, которым эти два скрипта могли стать функциями внутри одного скрипта? – summea
@summea Не очень полезный ответ. Да, я полагаю, что OP может попытаться обойти, не понимая основы системы импорта Python, * никогда не используя импорт, никогда *, но действительно ли вы думаете, что это полезное предложение, когда все, что ему нужно, чтобы перейти от его нынешней путаницы, - это крошечный фрагмент кода, показывающий, как использовать импорт? –
В отличие от некоторых языков, «импорт» Python не просто выдает источник импортированного файла в середине содержащего файл и выполняет все это. Импортируемый файл ничего не знает об окружающей среде, поэтому этот код ломается. В вашем случае я не уверен, что импорт правильный. Правильная модуляция предложила бы проектирование second.py, чтобы она могла быть передана 'x' в качестве аргумента для функций/объектов, определенных внутри нее. –