fsspec filesystem - PyDrive2 1.19.0 documentation (original) (raw)
Toggle table of contents sidebar
PyDrive2 provides easy way to work with your files through fsspeccompatible GDriveFileSystem.
Installation¶
pip install 'pydrive2[fsspec]'
Local webserver¶
from pydrive2.fs import GDriveFileSystem
fs = GDriveFileSystem( "root", client_id="my_client_id", client_secret="my_client_secret", )
By default, credentials will be cached per ‘client_id’, but if you are using multiple users you might want to use ‘profile’ to avoid accidentally using someone else’s cached credentials:
from pydrive2.fs import GDriveFileSystem
fs = GDriveFileSystem( "root", client_id="my_client_id", client_secret="my_client_secret", profile="myprofile", )
Writing cached credentials to a file and using it if it already exists (which avoids interactive auth):
from pydrive2.fs import GDriveFileSystem
fs = GDriveFileSystem( "root", client_id="my_client_id", client_secret="my_client_secret", client_json_file_path="/path/to/keyfile.json", )
Using cached credentials from json string (avoids interactive auth):
from pydrive2.fs import GDriveFileSystem
fs = GDriveFileSystem( "root", client_id="my_client_id", client_secret="my_client_secret", client_json=json_string, )
Service account¶
Using json keyfile path:
from pydrive2.fs import GDriveFileSystem
fs = GDriveFileSystem( # replace with ID of a drive or directory and give service account access to it "root", use_service_account=True, client_json_file_path="/path/to/keyfile.json", )
Using json keyfile string:
from pydrive2.fs import GDriveFileSystem
fs = GDriveFileSystem( # replace with ID of a drive or directory and give service account access to it "root", use_service_account=True, client_json=json_string, )
Use client_user_email if you are using delegation of authority.
Additional parameters¶
trash_only (bool):
Move files to trash instead of deleting.
acknowledge_abuse (bool):
Acknowledging the risk and download file identified as abusive. See Abusive files for more info.
Using filesystem¶
replace root
with ID of a drive or directory and give service account access to it
for root, dnames, fnames in fs.walk("root"): for dname in dnames: print(f"dir: {root}/{dname}")
for fname in fnames:
print(f"file: {root}/{fname}")
Filesystem instance offers a large number of methods for getting information about and manipulating files, refer to fsspec docs onhow to use a filesystem.