我想下载一些文件并将它们保存在一个文件夹中,文件名中可能有一些重复,所以我想避免这种情况发生.我认为它需要一个自动命名系统,但现在我不知道如何制作它.我用过shutil和urllib2编写我的函数.
这是我的代码的一部分:
path = 'C:/DL/Others/'+filename+file_ext
with open(path, 'wb') as fp:
shutil.copyfileobj(req, fp)
Run Code Online (Sandbox Code Playgroud)
如您所知,我们可以检查文件是否存在os.path.exists('path').我想重命名我的文件并保存它们,以避免使用模式重复名称,例如通过在文件名中添加一个数字.如果有4个同名文件,"fname",我想要4个这种模式的文件:fname - fname(1) - fname(2) - fname(3)
这样的事情可能是合理的:
path = 'c:/DL/Others/%s%s' % (filename, file_ext)
uniq = 1
while os.path.exists(path):
path = 'c:/DL/Others/%s_%d%s' % (filename, uniq, file_ext)
uniq += 1
Run Code Online (Sandbox Code Playgroud)
如果原始路径不存在,则会得到"否" _1,但如果它确实存在,则会一直计算,直到找到一个空闲路径.
| 归档时间: |
|
| 查看次数: |
2656 次 |
| 最近记录: |