我从123.py程序中调用file_2内容 可是两个显示的运行代码是一样的(两个都是在运行中哈 123.py截图 截错了 最后的运行内容两个是一样的) 正常情况123.py不是应该显示:储存到memory2内容有。而不是memory1内容有
出现你这个问题的原因很简单。你在123.py中通过import 引入了file_2一个变量,看似只是引入了一个变量,其实import后,file_2中代码会执行,这就导致运行在123.py后会打印出memory1,同时你的file_2中的代码又有一个time.sleep 导致file_2中代码一直没有执行完毕,从而123.py中的那个打印的代码不会执行。总得来说,就是你在123.py中通过import 引入了file_2,会先等待file_2中的代码执行完毕后再执行123.py中的代码
<br/ >
from file2 import monery1
Python 把每一个 *.py 文件都默认作为模块,可以直接 import 。导入时即执行 *.py 内代码语句。可能是您用了 time.sleep(60) ,让您想看到的延迟了一分钟。
第一行打印为加载 file4.py 时运行代码打印。第二行打印为 6 秒延迟后,file3.py 文件中的代码打印。
例如:
from file2 import monery1
print(dir())
print('存储到monery2的内容有:', monery1())
由于 file2.py 中的模块没有返回值,所以第二行打印空。
修改 file2.py
import time
def monery1():
''' 示例模块 '''
monery1 = list(range(1, 6)) # 列表变量。
print('存储到monery1的内容有:', monery1) # 打印到屏幕
return monery1
if __name__ == '__main__':
n = 5
while n > 0:
monery1()
time.sleep(6) # 暂停6秒。