【问题标题】:How can I duplicate special files using Python like pipes or block devices?如何使用 Python 复制特殊文件,如管道或块设备?
【发布时间】:2013-10-10 20:42:53
【问题描述】:

我的任务是使用 Python 复制大量文件。目前我已经完成了所有设置,复制整个目录树工作正常。但我陷入了复制管道和块文件的困境。如何仅使用 Python 复制这样的文件?有没有可能?

【问题讨论】:

  • 如果没有更多上下文,我什至不确定这意味着什么。例如,您将如何复制 /dev/zero/dev/urandom
  • 想想写一个备份程序吧。在 UNIX/Linux 和 Windows 中,您会发现无法立即复制的各种特殊文件。你必须以某种方式重新创建它们。这就是我要问的。

标签: python duplicates pipe block-device


【解决方案1】:

我可以在这里想到两个解决方案:

  1. 在代码中使用开关来识别和读取块或 PIPE 文件,并通过复制到另一个文件中的所需位置来复制文件。作为参考,你可以使用这个link to base your solution on

  2. 我能想到的唯一其他方法是将阻塞 PIPEs 更改为非阻塞。例如,

    f = open('./myfile', 'w+') # does NOT block

【讨论】:

  • 嗯.. 看起来我应该学习如何使用 os.mknod 之类的东西。还是谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 2016-05-25
  • 2023-03-07
  • 1970-01-01
  • 2013-08-01
相关资源
最近更新 更多