如何在Python中复制文件?


当前回答

对于大型文件,我逐行读取文件,并将每一行读取到一个数组中。然后,一旦数组达到一定大小,就将其追加到新文件中。

for line in open("file.txt", "r"):
    list.append(line)
    if len(list) == 1000000: 
        output.writelines(list)
        del list[:]

其他回答

对于小文件和仅使用Python内置程序,可以使用以下一行代码:

with open(source, 'rb') as src, open(dest, 'wb') as dst: dst.write(src.read())

对于文件太大或内存很关键的应用程序来说,这不是最佳方式,因此应该首选Swati的答案。

shutil.copy(src,dst,*,follow_symlinks=真)

有两种在Python中复制文件的最佳方法。

1.我们可以使用梭动模块

代码示例:

import shutil
shutil.copyfile('/path/to/file', '/path/to/new/file')

除了copyfile,还有其他可用的方法,如copy、copy2等,但copyfile在性能方面是最好的,

2.我们可以使用OS模块

代码示例:

import os
os.system('cp /path/to/file /path/to/new/file')

另一种方法是使用子流程,但它不是优选的,因为它是调用方法之一,不安全。

Python提供了内置函数,可以使用操作系统shell实用程序轻松复制文件。

以下命令用于复制文件:

shutil.copy(src, dst)

以下命令用于复制包含元数据信息的文件:

shutil.copystat(src, dst)

万一你走得这么远。答案是您需要整个路径和文件名

import os

shutil.copy(os.path.join(old_dir, file), os.path.join(new_dir, file))