首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在两个pyRevit脚本之间共享一个变量?

如何在两个pyRevit脚本之间共享一个变量?
EN

Stack Overflow用户
提问于 2018-02-07 17:25:16
回答 2查看 109关注 0票数 0

我使用的是最新版本的pyRevit,v45。我在临时文件中写了一些信息

代码语言:javascript
复制
myTempFile = script.get_instance_data_file("id")

这将创建一个名为pyRevit_2018_xxxx_id.tmp的文件,我将在其中存储有用的信息。如果我没记错的话,每次重新加载Revit时,"xxxx“部分都会发生变化。现在,我需要从另一个pyRevit脚本访问此信息。

如何检索需要读取的临时文件的名称?换句话说,我如何从第二个脚本中访问"myTempFile“,因为它不知道"myTempFile”的名称?

我想我可以在我的脚本之间以某种方式共享这个变量,但是正确的方法是什么呢?我知道这一定是一个非常基本的编程问题,但我确实不是一个程序员;)

非常感谢,阿诺德。

EN

回答 2

Stack Overflow用户

发布于 2018-02-08 16:14:56

好了,我现在意识到我在第一个脚本中的变量在执行后就不存在了。因此,现在我将文件名写在另一个文件中,我知道该文件的名称。这是可行的。

但如果有更干净的方法,我很乐意学习;)

阿诺德

票数 0
EN

Stack Overflow用户

发布于 2018-03-10 00:35:03

pyrevit.script模块根据临时文件的使用情况提供了4种不同的创建临时文件的方法:

get_instance_data_file:用于标记有Revit实例pid的数据文件。这意味着在另一个实例上运行的脚本将看不到此临时文件。http://pyrevit.readthedocs.io/en/latest/pyrevit/script.html#pyrevit.script.get_instance_data_file

可供所有Revit实例和版本http://pyrevit.readthedocs.io/en/latest/pyrevit/script.html#pyrevit.script.get_universal_data_file访问的临时文件的get_universal_data_file:

用于获取当前revit版本http://pyrevit.readthedocs.io/en/latest/pyrevit/script.html#pyrevit.script.get_data_file的标准临时文件的get_data_file:基方法

标记为活动文档的get_document_data_file:临时文件(因此在另一个文档上工作的脚本将看不到此文件) http://pyrevit.readthedocs.io/en/latest/pyrevit/script.html#pyrevit.script.get_document_data_file

每种方法都使用一种模式来创建临时文件名。因此,只要对该方法的调用在不同脚本中是相同的,该方法就会生成相同的文件名。

示例:

脚本1:

代码语言:javascript
复制
from pyrevit import script
tfile = script.get_data_file('mydata')

脚本2:

代码语言:javascript
复制
from pyrevit import script
tempfile = script.get_data_file('mydata')

在本例中为tempfile = tfile,因为文件id相同。

每一种都有文档,所以一定要看一看,然后选择适合你的口味。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48660093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档