Есть ли способ импортировать переменную в python без зацикливания кода? - PullRequest
0 голосов
/ 06 апреля 2020

Я посмотрел на несколько разных вопросов и ответов, но ничто из того, на что я смотрел, не помогает мне ни в малейшей степени. Я использую Python 3 для всего этого.

У меня возникли некоторые проблемы с использованием python для передачи переменной для использования в командной строке через код python. Я использую os.system и предпочитаю использовать это для выполнения второго python файла в той же папке. Открытие через командную строку работает после небольшого тестирования, но когда я пытаюсь импортировать переменную из первого python кода, она проходит по всему первому биту кода.

Мой первый python код выглядит следующим образом:

import os
variable_to_transfer=input()
os.system('cmd /c "python file2.py"')

Мой второй python код выглядит следующим образом:

import os
from file1.py import variable_to_transfer
command='cmd /k "ping {0}"'.format(variable_to_transfer)
os.system(command)

Когда я запускаю этот набор кода, он проходит через первый код один раз, переходит к второй код и ничего не делает в строке

from file1.py import variable_to_transfer

Я намерен, чтобы мои коды передали переменную, но она просто зацикливается. Есть ли способ это исправить?

1 Ответ

1 голос
/ 06 апреля 2020

Он зацикливается, потому что ваш file1 вызывает ваш file2, который импортирует из вашего file1 и вызывает ваши file2 и т. Д. c. снова и снова. Вместо этого вы должны передать переменную в качестве аргумента и получить ее оттуда. Например:

# file1.py

import os
variable_to_transfer=input()
os.system('cmd /c "python file2.py %s"' % variable_to_transfer)
# file2.py

import os
import sys
command='cmd /k "ping {0}"'.format(sys.argv[1])
os.system(command)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...