【问题标题】:Is there a way to import a variable in python without looping code?有没有办法在不循环代码的情况下在 python 中导入变量?
【发布时间】:2025-11-26 15:50:01
【问题描述】:

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

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

【问题讨论】:

  • 为什么要在这里使用子流程?为什么不只是import

标签: python python-3.x variables command-line os.system


【解决方案1】:

它循环是因为您的file1 正在调用您的file2,它从您的file1 导入并一遍又一遍地调用您的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)

【讨论】:

  • 为什么要使用子流程,为什么不直接导入?
  • @juanpa.arrivillaga 这件事你得问问 Michael Pate。我根据问题中提供的内容进行了回答,他特别想use os.system to execute a second python file
最近更新 更多