平滑运算符:在写入文件时重命名文件
Posted
技术标签:
【中文标题】平滑运算符:在写入文件时重命名文件【英文标题】:Smooth Operator: Rename a file while writing to it 【发布时间】:2020-11-20 08:27:43 【问题描述】:在 Linux 中(可能也在 Windows/OSX 中)如果我们打开要写入的文件并在写入时重命名它,raku 过程会顺利进行并继续按应有的方式写入文件。
但是在重命名发生时,我们如何才能找到文件的新名称(路径)?
IO::Notification 不可行,因为它没有提供其他信息,只提供一般描述:
FileRenamed or FileChanged
有办法吗?
【问题讨论】:
【参考方案1】:简短回答:不,据我所知。
这里有一些技术背景:MoarVM 上的 Rakudo(这是唯一支持 IO::Notification
afaik 的后端)依赖于 libuv
来实现此功能。如果libuv
不支持,Rakudo 支持的可能性很小。
我不知道libuv
是否支持该功能。如果是这样,我建议您在 MoarVM 中提出问题以引起注意。或者更好的是,编写一个 Pull Request 来实现该功能。
【讨论】:
根据 libuv 文档 (docs.libuv.org/en/v1.x/guide/filesystem.html#file-change-events),据我所知,那方面什么都没有!无论如何,谢谢!!!以上是关于平滑运算符:在写入文件时重命名文件的主要内容,如果未能解决你的问题,请参考以下文章
在 PySpark 中将数据帧写入 CSV 后重命名文件 [重复]