我已经看过多个不同的问题和答案,但是我所看的都没有丝毫帮助。我正在使用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
我打算让我的代码转移变量,但是它只是循环。有什么办法解决这个问题?
它循环是因为您的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)