如何复制一个文件? 第二部分

113 阅读2分钟

在这篇文章中,让我们学习一下使用 os模块复制文件的方法 **。**os模块 提供了一种使用操作系统功能来复制文件的方法。 在我们进入本文之前, 请确保你了解了 shutil模块 及其方法。

docs.google.com/document/d/…

os模块所支持的可以复制文件的方法如下

  • popen()
  • system()

让我们来详细讨论一下这些方法中的每一个。

  1. 使用popen()

这个方法为命令cmd创建一个管道。它返回一个连接到cmd管道的文件对象。

这个方法的语法是

mode 是它所处的文件模式。它可以 是**'r'** (默认) 'w' (分别是读和写模式)。

bufsize 是缓冲区的大小。

  • bufsize=0 ;不发生缓冲。
  • bufsize=1;在访问文件行时发生缓冲。
  • bufsize>1;以指定的缓冲区大小进行缓冲。
  • bufsize<0; 系统将假定默认的缓冲区大小。

注意,我们对不同的操作系统使用不同的语法。

  1. 使用system()。

这个方法可以立即执行任何操作系统的命令或子壳中的脚本。

这里我们将 命令 或脚本作为参数传递给 system() 调用。这个方法在内部调用标准C库函数。其返回值是 命令的退出状态

这个方法的语法是

command 是一个包含DOS或Unix shell命令的字符串,在这个例子中,由于我们要复制,命令是 copy (或) cp

这个代码看起来和 popen() 方法很相似 。不同的是, 该命令是在一个子壳中执行的,也就是说,它是在一个独立的线程中与执行代码并行执行的。

The postHow can a file be copied? Part- II 出现在i2tutorials上。