是否可以在不循环代码的情况下在python中导入变量?

问题描述 投票:0回答:1

我已经看过多个不同的问题和答案,但是我所看的都没有丝毫帮助。我正在使用Python 3进行所有操作。

我在使用python通过python代码传输要在命令行提示符中使用的变量时遇到了一些麻烦。我正在使用os.system,并且更愿意使用它在同一文件夹中执行第二个python文件。经过一点测试后,open through命令提示符起作用,但是当我尝试从第一个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

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

python python-3.x variables command-line os.system
1个回答
0
投票

它循环是因为您的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)
© www.soinside.com 2019 - 2024. All rights reserved.