mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-14 19:27:53 +00:00
50 lines
1.9 KiB
Python
50 lines
1.9 KiB
Python
'''
|
||
Author: jackning 270580156@qq.com
|
||
Date: 2024-08-29 09:55:35
|
||
LastEditors: jackning 270580156@qq.com
|
||
LastEditTime: 2024-08-29 15:10:19
|
||
Description: bytedesk.com https://github.com/Bytedesk/bytedesk
|
||
Please be aware of the BSL license restrictions before installing Bytedesk IM –
|
||
selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
|
||
仅支持企业内部员工自用,严禁私自用于销售、二次销售或者部署SaaS方式销售
|
||
Business Source License 1.1: https://github.com/Bytedesk/bytedesk/blob/main/LICENSE
|
||
contact: 270580156@qq.com
|
||
技术/商务联系:270580156@qq.com
|
||
Copyright (c) 2024 by bytedesk.com, All Rights Reserved.
|
||
'''
|
||
#
|
||
import os
|
||
import requests
|
||
|
||
def download_file(file_url: str, destination_folder: str = 'files') -> str | None:
|
||
"""
|
||
下载文件到指定文件夹。
|
||
|
||
:param file_url: 要下载的文件的URL。
|
||
:param destination_folder: 保存文件的文件夹名称,默认为'file'。
|
||
"""
|
||
# 确保目标文件夹存在,如果不存在则创建
|
||
if not os.path.exists(destination_folder):
|
||
os.makedirs(destination_folder)
|
||
|
||
# 从URL中获取文件名
|
||
file_name = file_url.split('/')[-1]
|
||
|
||
# 构建完整的文件保存路径
|
||
file_path = os.path.join(destination_folder, file_name)
|
||
|
||
# 使用requests库下载文件
|
||
with requests.get(file_url, stream=True) as response:
|
||
if response.status_code == 200:
|
||
# 以二进制写入模式打开文件
|
||
with open(file_path, 'wb') as file:
|
||
# 分块写入文件内容
|
||
for chunk in response.iter_content(chunk_size=8192):
|
||
file.write(chunk)
|
||
print(f"文件已成功下载到: {file_path}")
|
||
else:
|
||
print(f"下载失败,状态码: {response.status_code}")
|
||
|
||
# 返回文件保存路径
|
||
return file_path
|