我是新手,正在尝试制作一个简单的随机句子生成器-如何从存储在另一个 .py 文档中的列表中提取随机项目?我正在使用
random.choice(verb_list)
从列表中拉出。如何告诉 python verb_list 在另一个文档中?
此外,了解解决方案背后的原理是什么也很有帮助。我想这类似于“文件引用”“文件桥接”等。
我是新手,正在尝试制作一个简单的随机句子生成器-如何从存储在另一个 .py 文档中的列表中提取随机项目?我正在使用
random.choice(verb_list)
从列表中拉出。如何告诉 python verb_list 在另一个文档中?
此外,了解解决方案背后的原理是什么也很有帮助。我想这类似于“文件引用”“文件桥接”等。
您可以从文件中导入变量:
变量数据.py
verb_list = [x, y, z]
other_list = [1, 2, 3]
something_else = False
主文件.py
from vardata import verb_list, other_list
import random
print random.choice(verb_list)
你也可以这样做:
from vardata import *
从该文件导入所有内容。不过要小心。您不想发生名称冲突。
或者,您可以只导入文件并通过其命名空间访问变量:
import vardata
print vardata.something_else
这叫做导入。
如果这是data.py
:
verb_list = [
'run',
'walk',
'skip',
]
这是foo.py
:
#!/usr/bin/env python2.7
import data
print data.verb_list
然后运行foo.py
将从verb_list
.data.py
您可能需要完成Python 教程的模块部分。
如果verb_list
存储在您也想做其他事情的脚本中,那么当您只想导入其变量时,您将遇到脚本运行的问题。在这种情况下,标准做法是将所有脚本功能保留在一个名为 的函数中main()
,然后使用魔法咒语:
verb_list = [
'run',
'walk',
'skip',
]
def main():
print 'The verbs are', verb_list
if __name__ == '__main__':
main()
现在,main()
如果您所做的只是import data
. 如果您有兴趣,Python 的创建者 Guido van Rossum 写了一篇关于编写更复杂的Pythonmain()
函数的文章。