Python练习:多线程

题目1

Windows上的wget可以点击这里 下载。 这个程序不用安装,直接在命令行里使用即可

请写一个Python程序,实现:

  • 命令行提示用户输入要下载文件的url

  • 对于每个下载任务,新建一个线程去执行下载

答案与解析

















































题目1-答案

from threading import Thread,Lock
import os

# 定义wget的网址
wgetpath = r'd:\tools\wget.exe'

# 定义函数作为下载命令的入口
def downloadTask(url):
    # -P 参数指定下载存放目录
    os.system(f'{wgetpath} {url} -P d:\\tmp')



# 循环让用户输入下载任务
while True:
    url = input('请输入下载网址:')

    if url.strip() == '':
        continue

    # 创建一个新线程,执行存款2000操作
    thread = Thread(target=downloadTask,    
                    args=(url,))

    thread.start()