【问题标题】:Create virtual drive (located in RAM) in Matlab, in Windows 10在 Windows 10 中的 Matlab 中创建虚拟驱动器(位于 RAM 中)
【发布时间】:2017-12-01 05:59:59
【问题描述】:

是否可以将在 Matlab 代码中创建的文件保存到一个位置,在文件名中指定,我给出了创建函数*,该文件不在硬盘驱动器或闪存驱动器中,也不是在中找到的任何其他驱动器这台 PC(我的电脑),但在内存中找到其余正在运行的程序?

*如save(filename,variable)

我希望参考这些文件,然后在程序完成后立即删除它们,而不会侵占用户的硬盘。

经过一番网络搜索,我找到了this page,它解决了与六年前在未指定操作系统中非常相似的问题,但我

  • 想要确保它在 Windows 10 中运行
  • 没有 Map.cmd
  • 怀疑这是将虚拟驱动器放在他的 E:/ 驱动器中,而不是 RAM 中

我想让我的程序生成一个 .exe 成为可能,该程序当前保存文件。虽然我确信我可以在创建它们后删除它们,但我不想让最终产品在运行时做任何会警告任何人安全风险的事情。

【问题讨论】:

  • 您正在寻找RAM-drive en.wikipedia.org/wiki/RAM_drive。例如下载ImDisk Toolkit
  • 顺便说一句,您为什么要在 RAM 中保存该变量? MATLAB 的工作区看起来有什么不同吗?
  • 为什么要保存它们?如果您希望将变量存储在进程内存中,而不涉及磁盘,只需将它们作为变量保留即可。
  • 看起来像XY problem。顺便说一句,如果您将其存储为 png 并稍后重新加载,矩阵是否保持不变?它根据Mathworks blog 执行。那你为什么要保存呢?
  • 我同意@Sardar 的观点,您的问题听起来像是 XY 问题的缩影。或者无论如何暂时将单个 png 保存到磁盘不应该是一个大问题。您甚至可以使用tempname 生成不会打扰任何人的文件名。无论如何,我试图取笑你并进行调查。我的想法是python的io.StringIO可以在内存中存放一个文件,但不幸的是print/saveas不是为这些对象设计的。我尝试追踪 print 在后台使用的内容,最终得到了混淆的 p 文件,例如 MATLAB/toolbox/matlab/graphics/private/writeRaster.p

标签: matlab windows-10 virtual-disk


【解决方案1】:

也许你想多了?也许您可以将文件保存在用户的临时目录中。这样做不太可能带来很多安全风险,并且用户通常不会对这样做的应用程序感到震惊。

如果您的应用程序是用 MATLAB 编写的,您可以使用命令 tempdir 获取用户临时目录的名称,并可以使用命令 tempname 为临时文件生成一个随机名称。

【讨论】:

    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 2016-06-10
    • 2010-09-08
    • 2020-06-10
    • 1970-01-01
    • 2020-06-21
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多