我创建了一个Python脚本来帮助管理unRAID服务器上的媒体。新文件将自动传输到文件夹中,脚本使用文件夹结构和文件名来确定应将它们移到何处,通常会移到同一驱动器上的另一个共享中。在午夜指挥官的帮助下,这种转移会立即发生。资源管理器或我的脚本中的这个进程使用shutil.move()复制文件,然后删除原始文件,这会花费很长的时间处理大文件,并在驱动器上创建不必要的读/写。在资源管理器和Python中,当传输位于相同的共享上时,它都是即时的。
在本例中,简化的伪码传输和TV是在同一个磁盘上共享的:
from shutil import move
oldPath = r'\\NAS\Transfer\incoming\test.mkv'
newPath = r'\\NAS\TV\test.mkv'
move(oldPath, newPath)有没有办法像我假设MC那样用Python来移动文件的指针,而不是物理地移动文件呢?
发布于 2021-03-07 04:02:33
在相同的文件系统中为一个文件赋予一个新名称的底层接口是os.rename()。如果调用失败,就地重命名是不可能的.
如果您测试一个有效的本地重命名可以直接在文件服务器上进行,而不是在您的网络共享上,您可能忽略了网络文件系统的限制(或者它是如何配置的;从客户端的角度,而不仅仅是从服务器的角度,确保源和目的地都在相同的挂载点下)。
https://stackoverflow.com/questions/66512996
复制相似问题