Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用Python 3向LabVIEW文件添加注释_Python 3.x_Operating System_Labview - Fatal编程技术网

Python 3.x 如何使用Python 3向LabVIEW文件添加注释

Python 3.x 如何使用Python 3向LabVIEW文件添加注释,python-3.x,operating-system,labview,Python 3.x,Operating System,Labview,我正在尝试创建一个唯一的id并将其附加到LabVIEW文件,以便稍后我可以读回该id并知道我正在查看完全相同的文件。我必须能够生成id并以编程方式将其读回。这些信息必须对访问文件的用户隐藏,并在操作系统和存储介质中持久保存 我想把它添加到文件的“注释”部分,但Windows似乎不再支持文件注释 有什么想法吗?我建议在VI上使用该方法(具有持久性),并使用Save Instrument方法保存VI的多个副本,其中每个副本都有自己独特的标签值。请注意,该方法定义为脚本方法,因此您可能需要在LV选项中

我正在尝试创建一个唯一的id并将其附加到LabVIEW文件,以便稍后我可以读回该id并知道我正在查看完全相同的文件。我必须能够生成id并以编程方式将其读回。这些信息必须对访问文件的用户隐藏,并在操作系统和存储介质中持久保存

我想把它添加到文件的“注释”部分,但Windows似乎不再支持文件注释

有什么想法吗?

我建议在VI上使用该方法(具有持久性),并使用Save Instrument方法保存VI的多个副本,其中每个副本都有自己独特的标签值。请注意,该方法定义为脚本方法,因此您可能需要在LV选项中启用脚本来访问它

我认为没有用于枚举标记的API,因此除非您知道标记的调用,否则无法找到值。显然,它是在VI文件本身的某个地方编码的,如果你知道文件的结构,可能会提取出一个标签列表,但这不是我期望大多数学生都具备的知识


我不确定您是否可以使用到VI服务器的外部连接从Python调用set-tag方法,但可以肯定的是,这方面的LV代码应该非常简单——基本上是一个带有ID生成的for循环,几个方法调用并保存一个CSV文件,这样您就可以跟踪哪个ID属于哪个学生。如果使用现有ID,甚至不需要生成和保存ID。

检查两个文件是否相同的标准方法是比较每个文件的大小。如果您可以在时间t1私下存储文件x的散列的副本,那么您可以稍后在时间t2计算散列,将其与存储的副本进行比较,并查看文件是否已更改。这是否适合您的用例,或者您是否有其他要求?请详细说明你想做什么以及为什么。谢谢你的评论。让我详细说明一下我的用例。。。这些文件是考试文件。给学生一个包含起点的文件,然后完成项目并提交更新的文件。不幸的是,这将改变MD5。我们试图阻止的是一个学生“分享”答案,多个学生提交答案。因此,序列号的想法和用户需求隐藏。如果他们不知道它在那里,他们就不太可能篡改它,你有权访问吗?您可以编写一个分析VI,扫描前面板或方框图以查找隐藏的免费标签或注释。您可以使用来创建和隐藏标签或注释。@nekomatic:默认情况下,LV VIs包含已编译的代码。一个稍有不同的LV版本或一个稍有不同的插件版本,LV重新编译VI,从而改变了文件。非常感谢您的想法。这听起来是个有趣的选择。我会调查的。我不是LabVIEW的人,他坐在我旁边的桌子上。我是他用来解决问题的编码极客。TestScript在这里可能是一个有用的LabVIEW/Python连接器,因为它是双向的: