跳转到主要内容
以下所有操作既可以通过 Client 类,也可以通过 Application 类以及 CLI 执行。下面是使用这两个类执行每项任务的示例:

获取文件列表

client.app_files_listapp.files_list 返回一个 FileInfo 对象列表。
import squarecloud as square

client = square.Client(api_key='API KEY')

async def example():
    files_list = await client.app_files_list(app_id='application_id', path='/')

    for file in files_list:
        print(file.name)  # 'main.py'
        print(file.type)  # 'directory' or 'file'
        print(file.size)  # 2140
        print(file.lastModified)  # 1677112835000

读取文件

client.read_app_fileapp.read_file 返回一个 BytesIO 对象。
import squarecloud as square

client = square.Client(api_key='API KEY')

async def example():
    file_bytes = await client.read_app_file(
        app_id='application_id', path='main.py'
    )

    print(file_bytes)  # b'01101000 01101001'

创建文件

client.create_app_fileapp.create_file 返回一个 Response 对象。
import squarecloud as square

client = square.Client(api_key='API KEY')

async def example():
    await client.create_app_file(
        app_id='application_id', path='/file.txt', file=square.File('file.txt')
    )

删除文件

client.delete_app_fileapp.delete_file 返回一个 Response 对象。
import squarecloud as square

client = square.Client(api_key='API KEY')

async def example():
    await client.delete_app_file(app_id='application_id', path='/file.txt')

移动文件

client.move_app_fileapp.move_file 返回一个 Response 对象。
import squarecloud as square

client = square.Client(api_key='API KEY')


async def example():
    await client.move_app_file(
        app_id='application_id',
        origin='path/to/origin/file.py',
        dest='path/to/destination/file.py',
    )