我使用的是最新版本的pyRevit,v45。我在临时文件中写了一些信息
myTempFile = script.get_instance_data_file("id")这将创建一个名为pyRevit_2018_xxxx_id.tmp的文件,我将在其中存储有用的信息。如果我没记错的话,每次重新加载Revit时,"xxxx“部分都会发生变化。现在,我需要从另一个pyRevit脚本访问此信息。
如何检索需要读取的临时文件的名称?换句话说,我如何从第二个脚本中访问"myTempFile“,因为它不知道"myTempFile”的名称?
我想我可以在我的脚本之间以某种方式共享这个变量,但是正确的方法是什么呢?我知道这一定是一个非常基本的编程问题,但我确实不是一个程序员;)
非常感谢,阿诺德。
发布于 2018-02-08 16:14:56
好了,我现在意识到我在第一个脚本中的变量在执行后就不存在了。因此,现在我将文件名写在另一个文件中,我知道该文件的名称。这是可行的。
但如果有更干净的方法,我很乐意学习;)
阿诺德
发布于 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:
from pyrevit import script
tfile = script.get_data_file('mydata')脚本2:
from pyrevit import script
tempfile = script.get_data_file('mydata')在本例中为tempfile = tfile,因为文件id相同。
每一种都有文档,所以一定要看一看,然后选择适合你的口味。
https://stackoverflow.com/questions/48660093
复制相似问题