按书ID创建文件夹,从批处理文件下载文件,将文件移动到文件夹中

时间:2018-04-10 12:34:59

标签: python python-3.x

我在Windows 10上使用Python 3.6.5

首先,我按照书籍ID创建文件夹,它可以工作:

然后,从批处理文件下载文件,文件中每行一个URL。 网址:

以下是代码和作品:

import os
import wget

book_id = ["5151","5152","5153"]

for id in book_id:
   directory ="new/"+ str(id)
   if not os.path.exists(directory):
        os.makedirs(directory)


   with open ("%s_url.txt" % id, encoding='utf-8', mode = 'r') as f:
        for url in f.readlines():
            filename = wget.download(url.strip(), out=directory)
            print (filename)

5151_url.txt文件不在5151文件夹中。我需要将下载文件移动到5151文件夹中。

我知道可以使用wget.download(url, fullfilename), and fullfilename = os.path.join(directory, filename) filename = page-1.jpg ..etc.

解决方案:添加

out=directory)

但这会改变文件名,我不想改变文件名。怎么样?

1 个答案:

答案 0 :(得分:0)

试试这个。

import os
import wget
import time

book_id = ["5151","5152","5153"]

for id in book_id:
   directory ="new/"+ str(id)
   if not os.path.exists(directory):
        os.makedirs(directory)


   with open ("new" + "/" + id + "/%s_url.txt" % id, encoding='utf-8', mode = 'r') as f:
        for url in f.readlines():
            time.sleep(4)
            filename = wget.download(url.strip())
            print (filename)

第二部分有点修改,可能会更好地完成,但你会有所了解。 这段代码报告没有问题。

我还添加了time.sleep(4)以防万一你有阻塞机制。

我假设您在5151文件夹中有5151.txt,其他人在各自的位置。