Package: python-alist
Alist web API 的 Python 封装AList web API 官方文档AList web API 在线工具安装通过pypipip install -U python-alist入门介绍1. 导入模块和创建实例导入模块fromalistimportAlistClient,AlistFileSystem创建客户端对象，登录AList：此处，后台服务地址:"http://localhost:5244"，用户名:"admin"，密码:"123456"请确保AList已经启动，并且可通过http://localhost:5244访问client=AlistClient("http://localhost:5244","admin","123456")绝大部分AlistClient的方法带有async_参数，意味着它支持异步 IO。>>>importasyncio>>>loop=asyncio.get_event_loop()>>>fromalistimportAlistClient,AlistFileSystem>>>client=AlistClient("http://localhost:5244","admin","123456")>>>client.fs_get(dict(path="/")){'code':200,'message':'success','data':{'name':'115','size':0,'is_dir':True,'modified':'2023-12-26T12:23:59.259218+08:00','created':'2023-12-26T12:23:59.259218+08:00','sign':'','thumb':'','type':0,'hashinfo':'null','hash_info':None,'raw_url':'','readme':'','header':'','provider':'115 Cloud','related':None}}>>>client.fs_get(dict(path="/"),async_=True)<coroutineobjectAlistClient._async_request.<locals>.requestat0x1055f0d60>>>>loop.run_until_complete(client.fs_get(dict(path="/"),async_=True)){'code':200,'message':'success','data':{'name':'root','size':0,'is_dir':True,'modified':'0001-01-01T00:00:00Z','created':'0001-01-01T00:00:00Z','sign':'','thumb':'','type':0,'hashinfo':'null','hash_info':None,'raw_url':'','readme':'','header':'','provider':'unknown','related':None}}创建文件系统对象fs=AlistFileSystem(client)或者直接在client上就可获取文件系统对象fs=client.fs或者直接用AlistFileSystem登录fs=AlistFileSystem.login("http://localhost:5244","admin","123456")2. 操作网盘使用 Python 式的文件系统方法文件系统对象的方法，设计和行为参考了os、posixpath、pathlib.Path和shutil等模块。alist.AlistFileSystem实现了读写的文件系统方法。alist.AlistPath实现了二次封装，从路径的角度来进行操作。使用getcwd方法，获取当前工作目录的路径，参考os.getcwd>>>fs.getcwd()'/'使用listdir方法，罗列当前目录的文件名，参考os.listdir>>>fs.listdir()['115','阿里云盘']使用chdir方法，切换当前工作目录，参考os.chdir>>>fs.chdir("/115")使用listdir_attr方法，罗列当前目录时，还可以获取属性>>>fs.listdir_attr()[{'name':'云下载','size':0,'is_dir':True,'modified':'2023-12-16T21:58:22+08:00','created':'2023-03-18T18:52:54+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/云下载','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'000阅读·乱七八糟','size':0,'is_dir':True,'modified':'2023-12-14T14:54:20+08:00','created':'2023-03-18T14:45:45+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/000阅读·乱七八糟','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'电视剧','size':0,'is_dir':True,'modified':'2023-12-23T22:26:17+08:00','created':'2023-04-16T18:30:33+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/电视剧','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'电影','size':0,'is_dir':True,'modified':'2023-12-14T14:54:20+08:00','created':'2023-03-01T12:46:07+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/电影','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'纪录片','size':0,'is_dir':True,'modified':'2023-12-18T18:49:29+08:00','created':'2023-02-24T11:40:45+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/纪录片','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'libgen','size':0,'is_dir':True,'modified':'2023-12-14T14:54:20+08:00','created':'2023-05-28T22:05:06+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/libgen','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'👾0号：重要资源','size':0,'is_dir':True,'modified':'2023-12-14T14:54:20+08:00','created':'2023-02-28T21:40:32+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/👾0号：重要资源','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'📚1号：书籍大礼包','size':0,'is_dir':True,'modified':'2023-12-14T14:54:20+08:00','created':'2023-03-01T01:29:12+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/📚1号：书籍大礼包','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)},{'name':'📼资料备份','size':0,'is_dir':True,'modified':'2023-12-14T14:54:20+08:00','created':'2023-07-07T15:13:12+08:00','sign':'','thumb':'','type':1,'hashinfo':'{"sha1":""}','hash_info':{'sha1':''},'path':'/115/📼资料备份','lastest_update':datetime.datetime(2023,12,29,15,50,50,828853)}]使用listdir_path方法，罗列当前目录时，还可以获取alist.AlistPath对象>>>fs.listdir_path()[<alist.AlistPath(name='云下载',size=0,is_dir=True,modified='2023-12-16T21:58:22+08:00',created='2023-03-18T18:52:54+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/云下载',password='')>,<alist.AlistPath(name='000阅读·乱七八糟',size=0,is_dir=True,modified='2023-12-14T14:54:20+08:00',created='2023-03-18T14:45:45+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/000阅读·乱七八糟',password='')>,<alist.AlistPath(name='电视剧',size=0,is_dir=True,modified='2023-12-23T22:26:17+08:00',created='2023-04-16T18:30:33+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/电视剧',password='')>,<alist.AlistPath(name='电影',size=0,is_dir=True,modified='2023-12-14T14:54:20+08:00',created='2023-03-01T12:46:07+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/电影',password='')>,<alist.AlistPath(name='纪录片',size=0,is_dir=True,modified='2023-12-18T18:49:29+08:00',created='2023-02-24T11:40:45+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/纪录片',password='')>,<alist.AlistPath(name='libgen',size=0,is_dir=True,modified='2023-12-14T14:54:20+08:00',created='2023-05-28T22:05:06+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/libgen',password='')>,<alist.AlistPath(name='👾0号：重要资源',size=0,is_dir=True,modified='2023-12-14T14:54:20+08:00',created='2023-02-28T21:40:32+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/👾0号：重要资源',password='')>,<alist.AlistPath(name='📚1号：书籍大礼包',size=0,is_dir=True,modified='2023-12-14T14:54:20+08:00',created='2023-03-01T01:29:12+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/📚1号：书籍大礼包',password='')>,<alist.AlistPath(name='📼资料备份',size=0,is_dir=True,modified='2023-12-14T14:54:20+08:00',created='2023-07-07T15:13:12+08:00',sign='',thumb='',type=1,hashinfo='{"sha1":""}',hash_info={'sha1':''},lastest_update=datetime.datetime(2023,12,29,15,51,11,817697),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/115',refresh=False,request_kwargs={}),path='/115/📼资料备份',password='')>]再次使用chdir，进入一些目录>>>fs.chdir("电视剧/欧美剧/A")>>>fs.getcwd()'/115/电视剧/欧美剧/A'>>>fs.listdir()['A《爱、死亡和机器人》(Love.Death.and.Robot)[tt9561862]']>>>fs.chdir("A《爱、死亡和机器人》(Love.Death.and.Robot)[tt9561862]/爱、死亡和机器人S01.Love.Death.and.Robots.1080p.NF.WEB-DL.DDP5.1.x264-NTG（18集）")>>>fs.listdir()['Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.简体&英文.ass','Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv']使用attr方法，获取文件或文件夹的属性>>>fs.attr("Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv"){'name':'Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv','size':924544482,'is_dir':False,'modified':'2023-02-24T11:42:00+08:00','created':'2023-02-24T11:42:51+08:00','sign':'','thumb':'','type':2,'hashinfo':'{"sha1":"7F4121B68A4E467ABF30A84627E20A8978895A4E"}','hash_info':{'sha1':'7F4121B68A4E467ABF30A84627E20A8978895A4E'},'raw_url':'http://localhost:5244/p/115/%E7%94%B5%E8%A7%86%E5%89%A7/%E6%AC%A7%E7%BE%8E%E5%89%A7/A/A%E3%80%8A%E7%88%B1%E3%80%81%E6%AD%BB%E4%BA%A1%E5%92%8C%E6%9C%BA%E5%99%A8%E4%BA%BA%E3%80%8B%28Love.Death.and.Robot%29%5Btt9561862%5D/%E7%88%B1%E3%80%81%E6%AD%BB%E4%BA%A1%E5%92%8C%E6%9C%BA%E5%99%A8%E4%BA%BAS01.Love.Death.and.Robots.1080p.NF.WEB-DL.DDP5.1.x264-NTG%EF%BC%8818%E9%9B%86%EF%BC%89/Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv','readme':'','header':'','provider':'115 Cloud','related':[{'name':'Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.简体&英文.ass','size':48910,'is_dir':False,'modified':'2023-03-23T22:09:00+08:00','created':'2023-03-23T22:09:09+08:00','sign':'','thumb':'','type':4,'hashinfo':'{"sha1":"30AB3A1A376DE83049B35F135A774980F5C7C558"}','hash_info':{'sha1':'30AB3A1A376DE83049B35F135A774980F5C7C558'}}],'path':'/115/电视剧/欧美剧/A/A《爱、死亡和机器人》(Love.Death.and.Robot)[tt9561862]/爱、死亡和机器人S01.Love.Death.and.Robots.1080p.NF.WEB-DL.DDP5.1.x264-NTG（18集）/Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv','lastest_update':datetime.datetime(2023,12,29,15,51,47,591418)}使用stat方法，获取文件或文件夹的部分，参考os.stat>>>fs.stat("Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv")os.stat_result(st_mode=33279,st_ino=0,st_dev=0,st_nlink=1,st_uid=0,st_gid=0,st_size=924544482,st_atime=1703836333.124217,st_mtime=1677210120.0,st_ctime=1677210171.0)使用open方法，打开一个文件（目前只支持读取，不支持写入），参考open>>>f=fs.open("Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.简体&英文.ass",encoding="UTF-16")>>>f<_io.TextIOWrappername='Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.简体&英文.ass'encoding='UTF-16'>读取此文件的前 100 个字符>>>f.read(100)'[Script Info]\n;SrtEdit 6.3.2012.1001\n;Copyright(C) 2005-2012 Yuan Weiguo\n\nTitle: YYeTs\nOriginal Scri'用完后请及时关闭文件（其实不主动关闭也可以，只要文件不被引用，就会自动关闭）>>>f.close()以二进制模式打开一个文件，此时mode="rb">>>f=fs.open("Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv","rb")>>>falist.util.file.HTTPFileReader('http://localhost:5244/d/115/%E7%94%B5%E8%A7%86%E5%89%A7/%E6%AC%A7%E7%BE%8E%E5%89%A7/A/A%E3%80%8A%E7%88%B1%E3%80%81%E6%AD%BB%E4%BA%A1%E5%92%8C%E6%9C%BA%E5%99%A8%E4%BA%BA%E3%80%8B%28Love.Death.and.Robot%29%5Btt9561862%5D/%E7%88%B1%E3%80%81%E6%AD%BB%E4%BA%A1%E5%92%8C%E6%9C%BA%E5%99%A8%E4%BA%BAS01.Love.Death.and.Robots.1080p.NF.WEB-DL.DDP5.1.x264-NTG%EF%BC%8818%E9%9B%86%EF%BC%89/Love.Death.and.Robots.S01E01.Sonnies.Edge.1080p.NF.WEB-DL.DDP5.1.x264-NTG.mkv',urlopen=<functionurlopenat0x105ffb560>,headers=mappingproxy({'Accept-Encoding':'identity'}))读取前 10 个字节>>>f.read(10)b'\x1aE\xdf\xa3\xa3B\x86\x81\x01B'再读取 10 个字节>>>f.read(10)b'\xf7\x81\x01B\xf2\x81\x04B\xf3\x81'当前文件偏移位置（从 0 开始计算）>>>f.tell()20把读取位置重新变为文件开头>>>f.seek(0)0>>>f.tell()0再次读取 20 字节，应该等于上面两次结果的拼接>>>f.read(20)b'\x1aE\xdf\xa3\xa3B\x86\x81\x01B\xf7\x81\x01B\xf2\x81\x04B\xf3\x81'>>>f.tell()20回到根目录，我们继续其它试验>>>fs.chdir("/")使用walk方法，可以遍历一个目录，参考os.walk>>>next(fs.walk())('/',['115','阿里云盘'],[])使用walk_path方法，可以遍历一个目录时，获取alist.AlistPath对象>>>next(fs.walk_path())('/',[<alist.AlistPath(name='115',size=0,is_dir=True,modified='2023-12-26T12:23:59.259218+08:00',created='2023-12-26T12:23:59.259218+08:00',sign='',thumb='',type=1,hashinfo='null',hash_info=None,lastest_update=datetime.datetime(2023,12,29,15,53,33,430767),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/',refresh=False,request_kwargs={}),path='/115',password='')>,<alist.AlistPath(name='阿里云盘',size=0,is_dir=True,modified='2023-10-01T16:26:52.862197+08:00',created='2023-10-01T16:26:52.862197+08:00',sign='',thumb='',type=1,hashinfo='null',hash_info=None,lastest_update=datetime.datetime(2023,12,29,15,53,33,430767),fs=alist.AlistFileSystem(client=alist.AlistClient(origin='http://localhost:5244',username='admin',password='******'),path='/',refresh=False,request_kwargs={}),path='/阿里云盘',password='')>],[])必需在挂载的storage下才能创建文件，因此进入/115下，继续做实验>>>fs.chdir("/115")使用mkdir方法，可以创建空文件夹，参考os.mkdir>>>fs.mkdir("test")'/115/test'使用rmdir方法，可以删除空文件夹，参考os.rmdir>>>fs.rmdir('test')>>>fs.listdir()['云下载','000阅读·乱七八糟','电视剧','电影','纪录片','libgen','👾0号：重要资源','📚1号：书籍大礼包','📼资料备份']使用makedirs方法，可以创建多级的空目录，参考os.makedirs>>>fs.makedirs("a/b/c/d",exist_ok=True)'/115/a/b/c/d'>>>fs.listdir()['云下载','000阅读·乱七八糟','a','电视剧','电影','纪录片','libgen','👾0号：重要资源','📚1号：书籍大礼包','📼资料备份']使用removedirs方法，可以（自底向上地）删除多级的空目录，参考os.removedirs>>>fs.removedirs("a/b/c/d")>>>fs.listdir()['云下载','000阅读·乱七八糟','电视剧','电影','纪录片','libgen','👾0号：重要资源','📚1号：书籍大礼包','📼资料备份']使用upload方法上传文件（提示：如果as_task=True（默认为False），则文件只是上传到AList服务器上，至于AList什么时候上传完成，得等待）说明暂时，AList新增文件后，并不更新缓存（但删除和改名会更新），需要强制刷新一下。>>>fromioimportBytesIO>>>fs.upload(BytesIO(b"123"),"test.txt")'/115/test.txt'>>>_=fs.listdir(refresh=True)>>>fs.read_text("test.txt")'123'>>>fs.upload("file.py")'/115/file.py'>>>fs.listdir(refresh=True)['云下载','000阅读·乱七八糟','电视剧','电影','纪录片','libgen','👾0号：重要资源','📚1号：书籍大礼包','📼资料备份','file.py','test.txt']使用remove方法可以删除文件，参考os.remove>>>fs.remove("test.txt")>>>fs.remove("file.py")>>>fs.listdir()['云下载','000阅读·乱七八糟','电视剧','电影','纪录片','libgen','👾0号：重要资源','📚1号：书籍大礼包','📼资料备份']使用rmtree方法可以删除文件或文件夹，并且在删除文件夹时，也删除其中的文件和文件夹，参考shutil.rmtree>>>fs.makedirs("a/b/c/d")'/115/a/b/c/d'>>>fs.removedirs("a")Traceback(mostrecentcalllast):...OSError:[Errno66]directorynotempty:'/115/a'>>>fs.rmtree("a")使用rename方法可以对文件或文件夹进行改名或移动，参考os.rename>>>fs.touch("a")'/115/a'>>>_=fs.listdir(refresh=True)>>>fs.attr("a"){'name':'a','size':0,'is_dir':False,'modified':'2023-12-29T16:02:00+08:00','created':'2023-12-29T16:02:41+08:00','sign':'','thumb':'','type':0,'hashinfo':'{"sha1":"DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"}','hash_info':{'sha1':'DA39A3EE5E6B4B0D3255BFEF95601890AFD80709'},'raw_url':'http://localhost:5244/p/115/a','readme':'','header':'','provider':'115 Cloud','related':None,'path':'/115/a','lastest_update':datetime.datetime(2023,12,29,16,3,31,166894)}>>>fs.rename('a','b')'/115/b'>>>fs.attr("b"){'name':'b','size':0,'is_dir':False,'modified':'2023-12-29T16:03:00+08:00','created':'2023-12-29T16:02:41+08:00','sign':'','thumb':'','type':0,'hashinfo':'{"sha1":"DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"}','hash_info':{'sha1':'DA39A3EE5E6B4B0D3255BFEF95601890AFD80709'},'raw_url':'http://localhost:5244/p/115/b','readme':'','header':'','provider':'115 Cloud','related':None,'path':'/115/b','lastest_update':datetime.datetime(2023,12,29,16,3,47,200980)}使用renames方法可以对文件或文件夹进行改名或移动，并且在移动后如果原来所在目录为空，则会删除那个目录，参考os.renames使用replace方法可以对文件或文件夹进行改名或移动，并且如果原始路径上是文件，目标路径上也存在一个文件，则会先把目标路径上的文件删除，参考os.replace使用move方法可以对文件或文件夹进行改名或移动，目标路径存在且是一个目录，则把文件移动到其中（但是目录中有同名的文件或文件夹，还是会报错），参考shutil.move3. 遍历文件系统和查找文件1. 获取当前目录下所有 .mkv 文件的 url第 1 种方法，使用iter，返回alist.AlistPath对象的迭代器forpathinfs.iter(max_depth=-1):ifpath.name.endswith(".mkv"):print(path.url)第 2 种方法，使用glob，参考pathlib.Path.glob和glob.iglob，使用通配符查找forpathinfs.glob("**/*.mkv"):print(path.url)第 3 种方法，使用rglob，参考pathlib.Path.rglobforpathinfs.rglob("*.mkv"):print(path.url)4. 任务列表AList目前支持4种类型的任务，我分别进行了封装，大部分方法都支持异步调用 (async_=True)alist.AlistCopyTaskList封装了复制的任务列表。alist.AlistOfflineDownloadTaskList封装了离线下载（到本地）的任务列表。alist.AlistOfflineDownloadTransferTaskList封装了离线下载（到存储）的任务列表。alist.AlistUploadTaskList封装了上传的任务列表。alist.AlistAria2DownTaskList封装了aria2下载的任务列表。alist.AlistAria2TransferTaskList封装了aria2转存的任务列表。alist.AlistQbitDownTaskList封装了qbit下载的任务列表。alist.AlistQbitTransferTaskList封装了qbit转存的任务列表。fromalistimportAlistClientclient=AlistClient("http://localhost:5244","admin","123456")# 获取各种任务列表copy_tasklist=client.copy_tasklistoffline_download_tasklist=client.offline_download_tasklistoffline_download_transfer_tasklist=client.offline_download_transfer_tasklistupload_tasklist=client.upload_tasklistaria2_down_tasklist=client.aria2_down_tasklistaria2_transfer_tasklist=client.aria2_transfer_tasklistqbit_down_tasklist=client.qbit_down_tasklistqbit_transfer_tasklist=client.qbit_transfer_tasklist# 或者自己创建实例# 创建 复制 任务列表实例fromalistimportAlistCopyTaskListcopy_tasklist=AlistCopyTaskList(client)# 创建 离线下载（到本地） 任务列表实例fromalistimportAlistOfflineDownloadTaskListoffline_download_tasklist=AlistOfflineDownloadTaskList(client)# 创建 离线下载（到存储） 任务列表实例fromalistimportAlistOfflineDownloadTransferTaskListoffline_download_transfer_tasklist=AlistOfflineDownloadTransferTaskList(client)# 创建 上传 任务列表实例fromalistimportAlistUploadTaskListupload_tasklist=AlistUploadTaskList(client)# 创建 上传 任务列表实例fromalistimportAlistAria2DownTaskListaria2_down_tasklist=AlistAria2DownTaskList(client)# 创建 上传 任务列表实例fromalistimportAlistAria2TransferTaskListaria2_transfer_tasklist=AlistAria2TransferTaskList(client)# 创建 上传 任务列表实例fromalistimportAlistQbitDownTaskListqbit_down_tasklist=AlistQbitDownTaskList(client)# 创建 上传 任务列表实例fromalistimportAlistQbitTransferTaskListqbit_transfer_tasklist=AlistQbitTransferTaskList(client)文档正在编写中