之前写的一个模块,运行一点问题都没有,今天某次打开以后,莫名其妙报错
进去看了下,原来是文件复制这这块出了问题
代码意图是将当前文件夹下的 screenshot.png 复制到 backup 目录中,并且命名加时间。
代码为:
orifilename = './screenshot.png'
destfilename = "./backup/screenshot_{0}.png".format(datetime.datetime.now().strftime('%Y_%m_%d_%H_%M_%S')) shutil.copyfile(orifilename, destfilename)
现在是 shutil.copyfile 这个报错,报 destfilename 文件不存在...
FileNotFoundError: [Errno 2] No such file or directory: './backup/screenshot_2018_01_19_22_44_07.png'
也看了源代码,
with open(src, 'rb') as fsrc:
with open(dst, 'wb') as fdst:
copyfileobj(fsrc, fdst)
源代码里主要是这里第二行报错,
复制文件,必须要源文件存在,为什么会是这样设计...
而且更诡异的是,之前运行一直良好,目标文件夹一直都有备份的文件。就今天才会报错...
我已经混乱了....
可能这个问题比较 Low,但是大家还是帮我看看吧...
1
biggray0312 2018-01-19 23:26:38 +08:00
./backup 这个文件夹是不是不存在
|
2
ipwx 2018-01-20 00:09:22 +08:00
if not os.path.exists(os.path.split(dst)[0]): os.makedirs(os.path.split(dst)[0])
|
3
eaglexiang 2018-01-20 00:55:31 +08:00
1. 确认"backup"文件夹是否存在;
2. 确认代码运行的当前目录“./”是否正确。 |
4
piaochen0 OP @eaglexiang 刚一步一步调试且观察了文件夹,另外一个同事写的删除备份文件夹的程序被提前调用...导致我这边 backup 文件夹被删了。一直以为这个 backup 文件夹铁定在的。文件夹就被新建了一次...
|
5
wizardoz 2018-01-20 11:20:34 +08:00
这个锅 python 不背,操作系统的锅,顶多是 shutil 的锅
|