在研究DeblurGan-tf的代码时,运行GOPRO_preprocess.py文件时
subprocess.call(['cp', train_blur[index], os.path.join(args.output_path, 'train/blur/%s'%('_'.join(train_blur[index].split('/')[-3:])))])
语句报错系统找不到指定文件。
研究后发现有三个点需要注意:
1. 文件路径使用\\而不是/。虽然/也没有问题,但为了避免疏忽,路径部分全部使用了\\。
2. 'cp'应该替换为'copy'。
3. 函数中应该指定'shell=True'。
最后这句代码被改为:
subprocess.call(['copy', train_blur[index], os.path.join(args.output_path, 'train\\blur\\%s'%('_'.join(train_blur[index].split('\\')[-3:])))], shell=True)
参考资料:
用Python复制文件的9个方法