如何在另一个文件中修改特定的变量并在其他不同的文件中使用它?

2024-04-24 19:04:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有三个文件,我需要在这三个文件中使用一个变量,但问题是当我在第三个文件test.py中使用变量时,它使用了var.py中的第一个值。另外,当我在run.py中定义一个新变量并将该变量导入第三个文件test.py时,它会继续运行而不运行第三个文件test.py,并给出这个消息non-resource variables are not supported in the long term。另外,我还有一个文件env.py,我在'测试.py'使用修改的'德蒙德变种'

变量py

demend=-1

运行.py

import  var
print(var.demend)
for i in range(0,6)  :
    var.demend=i

    gc.collect()
    bots = [subprocess.check_call(["python"+version, os.path.join(current_dir, "test.py")])])]
    modules = map(__import__,bots)
    import multiprocessing,subprocess
    for bot in (bots):
        p = multiprocessing.Process(target=lambda: __import__(bot))
        p.start()

测试.py

import  env
import  var
print(var.demend)

环境py

import  var
print(var.demend)

Tags: 文件runinpytestimportenvfor
1条回答
网友
1楼 · 发布于 2024-04-24 19:04:45

我使用中的demend运行.py文件,然后传递新参数str(i)

运行.py

import os
import  var
import subprocess,_multiprocessing
import sys
import gc # Garbage Collector
print(var.demend)
version = ".".join(map(str, sys.version_info[:3]))
if len(version) >3:
    version=version[:-2];
current_dir = os.path.dirname(os.path.realpath(__file__))
for i in range(0,6)  :
    demend=i

    gc.collect()
    bots = [subprocess.check_call(["python"+version, os.path.join(current_dir, "test.py"),str(i)])]
    modules = map(__import__,bots)
    import multiprocessing,subprocess
    for bot in (bots):
        p = multiprocessing.Process(target=lambda: __import__(bot))
        p.start()

测试.py文件

import  env
from sys import argv
demend=int(argv[1])
print(demend)

环境py文件

from sys import argv
demend=int(argv[1])
print(demend)

相关问题 更多 >