有没有办法在不循环代码的情况下在 python 中导入变量?

Is there a way to import a variable in python without looping code?

我查看了多个不同的问题和答案,但我所查看的内容对我没有丝毫帮助。所有这些我都使用 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

我打算让我的代码传输变量,但它只是循环。有什么办法可以解决这个问题?

它循环是因为您的 file1 正在调用从您的 file1 导入的 file2 并一遍又一遍地调用您的 file2 等。相反,您应该做的是将变量作为参数传递并从那里检索它。例如:

# 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)