Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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 raspberry pi-如何将RAM内存视为文件_Python_File_Io_Ram - Fatal编程技术网

Python raspberry pi-如何将RAM内存视为文件

Python raspberry pi-如何将RAM内存视为文件,python,file,io,ram,Python,File,Io,Ram,在raspberry pi opencv python上,我成功地从USB摄像头捕获了一个图像,然后保存为“image.png”,然后将文件名传递给smtp客户端,该客户端读取该文件并将其作为附件发送到电子邮件中。显然这对sd卡是有害的 如何将RAM区域视为文件?我可以将数据流传输到 我现在不在家,但如果需要,我可以附上迄今为止我尝试过的代码 干杯您可以使用以下方法创建ram驱动器: sudo mount ramfs <DIRECTORY> -t ramfs -o size=<

在raspberry pi opencv python上,我成功地从USB摄像头捕获了一个图像,然后保存为“image.png”,然后将文件名传递给smtp客户端,该客户端读取该文件并将其作为附件发送到电子邮件中。显然这对sd卡是有害的

如何将RAM区域视为文件?我可以将数据流传输到

我现在不在家,但如果需要,我可以附上迄今为止我尝试过的代码


干杯

您可以使用以下方法创建ram驱动器:

sudo mount ramfs <DIRECTORY> -t ramfs -o size=<SIZE>    
如果这对您有效,并且您希望确保在每次启动pi时自动创建它,那么您需要更新/etc/fstab


完成此操作后,就不需要对代码进行任何体系结构更改。只需确保您的文件操作正在该目录中进行。不用说,如果出于任何原因重新启动pi,存储在这里的任何东西都会神奇地消失。

这对SD卡来说并不坏——它只是意味着你正在使用它。你能详细说明一下你是如何创建这个文件的吗?根据你正在使用的库——你可以将数据保存到变量中,跳过整个文件系统。谢谢影子:我基本上是从视频流中获取大量帧数。但无论如何,这不是一个优雅的解决方案,我宁愿在ram上实现它。所以这个文件是由cv2.imwrite'myimage.png',img创建的,然后我面前没有代码,而是一些类似服务器的东西。附加'myimage.png'。。。我想我已经试过去server.attachimg了,它抱怨img没有读取属性。。。所以我在看bytesIO,因为它允许我创建一个类似文件的对象,可以处理诸如查找和读取之类的事情。。。但到目前为止运气不佳不幸的是,这对我不起作用,说它不能挂载/data,没有/data文件夹,所以我创建了它,我仍然收到了相同的消息。然后,我试图修改fstab文件,它已经崩溃了我的pi我不能再ssh需要刷新卡。。。可以说我很固执,但我显然不熟悉linux命令,我更愿意从python内部执行此操作。。。必须有一种方法将ram的某些区域视为file.Odd。如果能看到你所尝试过的东西的抄本会很有趣的。但是,据我所知,没有这样的事。根据我的第一条评论,您最好的选择是找到一种使用StringIO/BytesIO的方法。我已经完成了对卡的刷新,结果是:sudo mount ramfs/ram-t ramfs-o size=16M mount:mount point/ram不存在,然后如果我创建了ram。。。i、 e.mkdir ram,然后再试一次,我得到了完全相同的信息,我无法重现那种情况。。。尝试重新启动?我想你可以给tmpfs一个太多的ram驱动器,但是如果你使用太多的ram,可以使用磁盘。所以解决方案是安装一个ram驱动器,尽管命令略有不同,我不得不使用mkdir ram mkfs-q/dev/ram1 1024 mount/dev/ram1 ram。。。。我有一段时间坚持尝试用python创建ram文件,有几个例子说明如何将图像保存到字符串流,但产生了一个fileno not supported错误,从中我发现这是一个bug。。。
sudo mount ramfs /ram -t ramfs -o size=16M