Python - 复制一种类型的文件

时间:2014-07-26 18:25:21

标签: python copy

我想复制" *。ts"类型的文件夹A(" \ 192.168.2.xxx \ shareA")中的所有文件。到folderB(" \ 192.168.2.yyy \ shareB")。

src = "\\\\192.168.2.xxx\\Harddisk\\*.ts"
dst = "\\\\192.168.2.yyy\\video"
shutil.copyfile(src, dst)

这不起作用。它给了我这个错误:

shutil.copyfile(src, dst)
File "C:\Python27\lib\shutil.py", line 82, in copyfile
with open(src, 'rb') as fsrc:
IOError: [Errno 22] invalid mode ('rb') or filename: '\\\\192.168.2.115\\Harddisk\\*.ts'

他为什么用" \\"?如果我打印src它会给我\\192.168.2.115\Harddisk\*.ts

1 个答案:

答案 0 :(得分:2)

shutil.copyfile(src, dst)复制单个文件的内容,因此它正在查找*.ts文件名。路径是用'\\'写的,因为它是一个转义字符;这是你写\字符的方式。但是,您可以使用glob模块执行Unix样式的路径名模式扩展。如果您从包含192.168.2.xxx192.168.2.yyy的目录运行此脚本,则此脚本应该有效。

import glob, shutil

for filename in glob.glob('192.168.2.xxx\\Harddisk\\*.ts'):
  shutil.copyfile(filename, '192.168.2.yyy\\video\\' + filename)