在这篇文章中,让我们学习一下使用 os模块复制文件的方法 **。**os模块 提供了一种使用操作系统功能来复制文件的方法。 在我们进入本文之前, 请确保你了解了 shutil模块 及其方法。
os模块所支持的可以复制文件的方法如下
- popen()
- system()
让我们来详细讨论一下这些方法中的每一个。
- 使用popen()。
这个方法为命令cmd创建一个管道。它返回一个连接到cmd管道的文件对象。
这个方法的语法是

mode 是它所处的文件模式。它可以 是**'r'** (默认) 'w' (分别是读和写模式)。
bufsize 是缓冲区的大小。
- bufsize=0 ;不发生缓冲。
- bufsize=1;在访问文件行时发生缓冲。
- bufsize>1;以指定的缓冲区大小进行缓冲。
- bufsize<0; 系统将假定默认的缓冲区大小。
注意,我们对不同的操作系统使用不同的语法。

- 使用system()。
这个方法可以立即执行任何操作系统的命令或子壳中的脚本。
这里我们将 命令 或脚本作为参数传递给 system() 调用。这个方法在内部调用标准C库函数。其返回值是 命令的退出状态 。
这个方法的语法是

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

这个代码看起来和 popen() 方法很相似 。不同的是, 该命令是在一个子壳中执行的,也就是说,它是在一个独立的线程中与执行代码并行执行的。
The postHow can a file be copied? Part- II 出现在i2tutorials上。