我想复制" *。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
答案 0 :(得分:2)
shutil.copyfile(src, dst)
复制单个文件的内容,因此它正在查找*.ts
文件名。路径是用'\\'
写的,因为它是一个转义字符;这是你写\
字符的方式。但是,您可以使用glob模块执行Unix样式的路径名模式扩展。如果您从包含192.168.2.xxx
和192.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)