问题标签 [virtualfilesystem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1020 浏览

node.js - 从虚拟文件系统加载节点模块

我正在尝试从虚拟文件系统加载一些节点模块,但我无法使其工作

我得到的错误是:错误:找不到模块“异步”

现在我试图使用这个模块https://www.npmjs.com/package/app-module-path添加我的虚拟路径,但它只获取物理路径。

有人可以帮我解决这个请求吗?

不用担心安全性,我将对此使用加密。

0 投票
2 回答
68 浏览

makefile - 使用不同补丁的多个同时构建,但只检出一个存储库

我知道标题不好,但我不知道如何表达它。

如果有人认为标题更好,请随时编辑或发表评论并提出建议

设想

你想测试一个公共主干的不同分​​支,并且你想同时构建它们。不幸的是,单次签出代码是 10GB。

理想情况下

您签出分支的共同祖先,然后获取.patch每个分支的文件。

重要提示:您的构建系统不合适。

然后,您将补丁作为参数输入到……其他可执行文件,该可执行文件将为包含该补丁和您的基本祖先修订的构建创建一个虚拟文件系统。

问题

这样的实用程序存在吗?
不幸的是,Docker 不是一个选项,因为在 Windows 上摇杆仅在 Windows 10 上。

0 投票
2 回答
735 浏览

linux - 使用虚拟文件系统有什么意义?

所以我正在制作这个软件来加密计算机上的文件。我的一个朋友(我们都是学生,所以不要对我们太苛刻)建议我使用虚拟文件系统。我问为什么,那是什么,他们给了我一些没有帮助的半真半假的答案

[我不知道这是否重要,但我在linux环境中]

所以不用担心我去谷歌搜索。但我还是不明白。解释,尤其是维基百科上的解释对我来说没有意义。什么是 VFS?使用虚拟文件系统的实际需求或优势是什么?与公正相反,不是吗?

我问是因为我真的很好奇,如果它有用,我想将它实现到我正在制作的东西中。

谢谢

(还有任何链接或书籍或我可以阅读的可以扩展我的知识的东西也会有所帮助)

0 投票
1 回答
623 浏览

phpunit - Laravel 5.4 中 PHPUnit 测试的虚拟文件系统

我的 PHPUnit 集成测试有点问题,我有一种方法可以处理视频文件的表单上传以及该视频的预览图像。

要保留的重要部分是$request->video->move()我可能需要替换以使用虚拟文件系统的调用。

然后是测试

如您所见,我需要在某个本地目录中创建一个虚拟文件,然后在对表单端点的 HTTP 请求中使用它,然后,该文件将被移动,我需要删除创建的文件夹和新移动的文件夹文件......这是一个真正的混乱。

因此,我想改用虚拟文件系统,但我不知道如何在这种特殊情况下进行设置,我已经下载了一个包并进行了设置,但问题是,首先,你使用了哪个包/推荐,您将如何调整课程和测试以支持虚拟文件系统?我需要切换到使用 Storage 门面而不是$request->video->move()调用吗?如果是这样,那将如何完成?

预先感谢您的帮助

0 投票
1 回答
220 浏览

c++ - 如何在Windows中通过偏移量和大小映射RAM中的文件

我有一个 C++ programfind 来删除硬盘上的文件。所以程序从分区的开头开始读取,每当它看到一个有效的签名时,它就会读取它并根据文件的类型找到文件大小。

然后它将文件的开始大小和偏移量保存到数据库中。现在我想要的是在这个过程完成后将文件提供给一些分析器!

我现在正在做的是将文件恢复到硬盘中,然后将它们的地址提供给分析器。但它太长了。

我想通过一个虚拟文件系统将这些文件加载​​到 RAM 中,它获取文件地址偏移量和文件大小,然后给出一个虚拟地址,分析器可以读取这些文件fopen(),它变得更快,但我不想在上面写入文件分割。

事实上,文件已经存在于分区中,但不存在于文件系统表中。

这种方式有什么解决方案吗?

0 投票
1 回答
697 浏览

python - 如何使 Python ssl 模块使用内存中的数据而不是传递文件路径?

我想要做什么以及为什么需要一段时间来解释的完整解释。基本上,我想在公共分布式应用程序中使用私有 SSL 连接,而不是分发我的私有 ssl 密钥,因为这否定了目的!即,我想要没有人能看到的安全远程数据库操作——包括客户端。

我的核心问题是:如何让 Python ssl 模块使用包含 ssl pem 文件内容的内存中保存的数据,而不是它们的硬文件系统路径?

SSLSocket 类调用的构造函数,因为它们是 .pyd 文件load_verify_locations(ca_certs)load_cert_chain(certfile, keyfile)所以我无法追踪。在那些黑匣子中,我假设这些文件被读入内存。我怎样才能使过程短路并直接传递数据?(也许换掉.pyd?...)

我的其他想法是:我可以io.StringIO用来创建一个虚拟文件,然后传递文件描述符。我已经将该概念与将采用描述符而不是路径的类一起使用。不幸的是,这些类不是这样设计的。

或者,也许使用虚拟文件系统/内存驱动器?不过这可能会很麻烦,因为我需要它是跨平台的。另外,如果有人可以从任何外部程序访问这些路径,那可能会否定我正在尝试做的事情......

我想我可以将它们保留为真实文件,但将它们“隐藏”在文件系统中的某个位置。

我不可能是第一个遇到这个问题的人。

更新

我找到了“黑匣子”的来源......

https://github.com/python/cpython/blob/master/Modules/_ssl.c

他们按预期工作。他们只是从路径中读取文件内容,但你必须深入到 C 层才能做到这一点。

我可以用 C 编写代码,但我从未尝试过重新编译底层 Python 源代码。看起来也许我应该按照这里的说明https://devguide.python.org/来提取 Python 存储库并进行更改。我想我可以将我的更新提交给 Python 社区,看看他们是否想要像我描述的那样制作一个新的标准化功能......看起来还有很多工作要做......

0 投票
1 回答
1249 浏览

c# - 如何使用 Platform.VirtualFileSystem 创建虚拟文件并将内容(流)放入其中?

首先,我不完全知道所谓的是否Platform.VirtualFileSystem可以做到这一点。我想要的虚拟文件系统是以某种方式从Stream(我已经拥有的)创建一个虚拟文件。系统 (OS) 将能够像访问真实文件一样访问该虚拟文件(透明地)。

浏览完 的类层次结构后Platform.VirtualFileSystem,我无法完全找到与我想要的相关的任何内容。看起来我可以将实际的系统文件链接到虚拟文件,但在这里我什至没有实际的系统文件,我所拥有的只是一个Stream.

有没有人有一个简单的例子来说明这一点?正如我之前所说,我什至不知道那个图书馆是否可以帮助我。因此,如果您有其他替代方案可以解决我的问题,请提出建议。

0 投票
2 回答
12191 浏览

python - 如何构建内存中的虚拟文件系统,然后将此结构写入磁盘

在将这些目录和文件写入磁盘之前,我正在寻找一种在 Python 中创建虚拟文件系统以创建目录和文件的方法。

使用PyFilesystem我可以使用以下内容构建内存文件系统:

理想情况下,我希望能够执行以下操作:

要将此结构写入磁盘,<base path>将在其中创建此结构的父目录在哪里。

据我所知,PyFilesystem 无法实现这一点。还有什么我可以使用的,或者我必须自己实现吗?

0 投票
1 回答
33 浏览

operating-system - 在不复制的情况下交换两个文件中的内容

我想交换两个文件A和B中的内容。但是,我不想使用复制操作,例如C <- A; A <- B; B <- C;

实际上,我想将文件A中的硬盘页面p1的内容与硬盘页面p2的ini文件B的内容交换。理论上,在这种情况下,我只需要交换两个指向这两个页面的“指针” .

我对操作系统并不深入。我想知道如何做到这一点,或者任何人都可以就我需要参考的内容提出一些建议吗?

操作系统是Linux。

0 投票
1 回答
30 浏览

python - 使用 python 中的虚拟文件改进对 MySQL 的 CSV 推送

我正在尝试找到一种方法来提高速度,同时使用 python 中的 pandas 将数据推送到 MySQL 数据库。

在我的性能测试之后,我得出了与其他人相同的结论:将数据推送到 MySQL 数据库的最佳方法是使用本机查询 'LOAD DATA INFILE..." 而不是 to_sql pandas 方法(即使有类似的改进这个这个)。

我的问题是当我想推送我的数据时,它在内存中。因此,为了使用本机 MySQL 查询,我需要先将其转储到磁盘上的文件中,然后使用“LOAD DATA...”查询。

所以我的问题是,有没有办法“模拟”写在磁盘上的文件,这样我就可以避免在上面转储我的大文件(200MB+)?

转储一个大文件可能需要几分钟,所以我不想在那里浪费太多时间......