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

2024-04-26 12:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在windows10上使用python3.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)

但这会改变文件名,我不想改变文件名。如何?你知道吗


Tags: 文件import文件夹comidhttpurlos
1条回答
网友
1楼 · 发布于 2024-04-26 12:26:18

试试这个。你知道吗

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文件,其他文件位于各自的位置。你知道吗

相关问题 更多 >