【发布时间】:2021-12-20 23:28:57
【问题描述】:
所以有两个脚本:script1.py 和 script2.py。 script1.py 有一个变量x,它存储在运行时从文件中读取的字符串。在script2.py 中,我导入script1.py,然后使用以下命令运行script1.py:script1.main()。然后我在script1.py 中运行一个特定的函数,负责读取相关文件。
您可能想知道为什么我不首先运行那个特定的函数,而是运行整个脚本。那是因为script1.py 做了很多其他事情,script2.py 每次运行时都需要这样做。
当script1.py 从script2.py 运行时,我希望能够读取存储在x 中的内容。我目前正在做的基本上是两次运行script1.py 的一部分。我想知道是否可以在不执行以下操作的情况下访问变量x:
#script1
def read_file():
f = open('file_path.txt')
string = f.read()
return string
def main():
x = read_file()
if __name__ == '__main__':
main()
还有script2.py:
#script2
import script1
from script1 import *
def main():
script1.main()
x = read_file()
print(x)
if __name__ == '__main__':
main()
所以本质上我想知道这种事情通常应该怎么做。是否可以在不必再次运行read_file() 的情况下获得x 的值?执行script1.main() 时,x 的值存储在哪里,如何访问它?不确定我应该使用import script1 还是应该使用from script1 import * 来实现这一点。
【问题讨论】:
-
让
script1.main返回x? -
如果有的话,我更喜欢另一种选择。如果我想访问多个对象怎么办?这可能吗?
-
好吧,你可以返回多个对象...
-
你的意思是作为一个可迭代的?
-
像往常一样:
return x,y,z这是一个元组。
标签: python import python-import