aligo
是一个用于 Python 的第三方库,主要用于与阿里云网盘(阿里云盘)进行交互。它是由社区开发者维护的一个非官方 SDK,提供了方便的接口来操作阿里云盘中的文件和资源。
你可以通过 pip
来安装 aligo
包:
bashpip install aligo
aligo
提供了以下主要功能:
在使用 aligo
之前,需要先登录阿里云盘。aligo
支持通过二维码扫码登录。
pythonfrom aligo import Aligo
# 初始化 Aligo 对象
ali = Aligo()
执行上述代码后,会弹出一个二维码,你需要用阿里云盘 App 扫码登录。登录成功后,aligo
会自动保存登录状态,下次使用时无需再次扫码。
将本地文件上传到阿里云盘:
pythonfile_path = '/path/to/local/file.txt' # 本地文件路径
parent_folder_id = 'root' # 目标文件夹 ID,'root' 表示根目录
uploaded_file = ali.upload_file(file_path, parent_folder_id)
print(f"Uploaded file: {uploaded_file.name}")
从阿里云盘下载文件到本地:
pythonfile_id = 'your-file-id' # 文件的 ID
local_path = '/path/to/save/file.txt' # 本地保存路径
downloaded_file = ali.download_file(file_id, local_path)
print(f"Downloaded file to: {downloaded_file}")
列出某个文件夹下的所有文件:
pythonparent_folder_id = 'root' # 文件夹 ID,'root' 表示根目录
files = ali.get_file_list(parent_folder_id)
for file in files:
print(f"File name: {file.name}, File ID: {file.file_id}")
在阿里云盘中创建一个新的文件夹:
pythonparent_folder_id = 'root' # 父文件夹 ID,'root' 表示根目录
new_folder_name = 'My New Folder'
new_folder = ali.create_folder(new_folder_name, parent_folder_id)
print(f"Created folder: {new_folder.name}")
在阿里云盘中删除一个新的文件夹:
pythonfrom aligo import Aligo
# 初始化 Aligo 客户端
ali = Aligo()
# 获取文件夹的 file_id
def get_folder_id_by_name(parent_file_id, folder_name):
# 列出父目录下的文件和文件夹
file_list = ali.get_file_list(parent_file_id)
for file in file_list:
if file.name == folder_name and file.type == 'folder':
return file.file_id
return None
# 删除文件夹
def delete_folder(parent_file_id, folder_name):
# 获取文件夹的 file_id
folder_id = get_folder_id_by_name(parent_file_id, folder_name)
if folder_id:
# 删除文件夹
response = ali.delete_file(file_id=folder_id)
if response:
print(f"文件夹 '{folder_name}' 已成功删除!")
else:
print(f"文件夹 '{folder_name}' 删除失败!")
else:
print(f"未找到文件夹 '{folder_name}'!")
# 示例:删除名为 "test_folder" 的文件夹
parent_file_id = 'root' # 根目录的 file_id,默认为 'root'
folder_name = 'test_folder'
delete_folder(parent_file_id, folder_name)
生成文件的分享链接:
pythonfile_id = 'your-file-id' # 文件的 ID
share_link = ali.share_file(file_id)
print(f"Share link: {share_link}")
非官方 SDK:aligo
是由社区开发者维护的非官方工具,因此可能存在一定的风险或兼容性问题。使用时请确保了解其工作原理,并注意账户安全。
API 限制:阿里云盘的 API 可能有一定的速率限制或其他约束,频繁调用可能会导致请求失败。
登录状态:登录状态会被缓存,通常存储在用户目录下的 .aligo
文件夹中。如果需要重新登录,可以删除该缓存文件。
依赖项:aligo
依赖于一些第三方库,比如 requests
和 qrcode
,安装时会自动处理这些依赖。