# File listing made easy

PyDrive handles paginations and parses response as list of GoogleDriveFile.

## Get all files which matches the query

Create GoogleDriveFileList instance with parameters of Files.list() as `dict`. Call GetList() and you will get all files that matches your query as a list of GoogleDriveFile.

    from pydrive.drive import GoogleDrive

    drive = GoogleDrive(gauth) # Create GoogleDrive instance with authenticated GoogleAuth instance

    # Auto-iterate through all files in the root folder.
    file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
    for file1 in file_list:
      print('title: %s, id: %s' % (file1['title'], file1['id']))

You can update metadata or content of these GoogleDriveFile instances if you need it.

## Paginate and iterate through files

PyDrive provides Pythonic way of paginating and iterating through list of files. All you have to do is to limit number of results with `maxResults` parameter and build `for` loop retrieving file list from API each iteration.

Sample code continues from above:

    # Paginate file lists by specifying number of max results
    for file_list in drive.ListFile({'q': 'trashed=true', 'maxResults': 10}):
      print('Received %s files from Files.list()' % len(file_list)) # <= 10
      for file1 in file_list:
          print('title: %s, id: %s' % (file1['title'], file1['id']))