gpt4 book ai didi

python - 从不同的 python 模块访问变量的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-30 23:31:38 24 4
gpt4 key购买 nike

我有两个 python 脚本,一个用于处理数据,另一个用于创建反射(reflect)处理后数据的 HTML 报告。

测试1.py:

def test(self):
for i in data:
if data is this:
data[1] = something
if data is that:
data[1] = something
else:
data[1] = something else

测试2.py:

OutFile = open("C:/path/../result.html", "w")

print "Content-type:text/html\r\n\r\"
# want to print data[1] value here

data[1] 中的值从 test1.py 传递到 test2.py 的最佳方法是什么?我可以将 using 参数传递给 test2.py 吗?

最佳答案

您可以从函数中返回它:

class MyClass():
data = some_data
def test(self):
for i in data:
if data is this:
data[1] = something
if data is that:
data[1] = something
else:
data[1] = something else
return data

test2.py 中,抓取并将其放在某处:

from test1 import MyClass
my_instance = MyClass()
data = my_instance.test()
print(data[1])

替代方案 1

将其作为MyClass中的变量:

class MyClass():
data = some_data
def test(self):
for i in self.data:
if self.data is this:
self.data[1] = something
if data is that:
self.data[1] = something
else:
self.data[1] = something else

并在test2.py中,将其作为my_instance的属性:

from test1 import MyClass
my_instance = MyClass()
my_instance.test()
print(my_instance.data[1])

替代方案 2

如果您想独立运行两个脚本,可以让 test1 将数据放在 test2 可访问的位置。例如,在文件中:

class MyClass():
data = some_data
def test(self):
for i in data:
if data is this:
data[1] = something
if data is that:
data[1] = something
else:
data[1] = something else
with open('data.txt', 'w') as f:
f.writelines(data)

现在,您可以轻松地从第二个脚本中获取它:

with open('data.txt') as f:
data = f.readlines()
print (data[1])

实现这一目标并不难。

希望这有帮助!

关于python - 从不同的 python 模块访问变量的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com