نویسندگان : محیا مهدیان و محمد حسن ستاریان
اگر با گوگل کولب (Google Colab) کار کرده باشید میدانید که فایل سیستم آن از فایل سیستم گوگل درایو (Google Drive) جدا بوده و برای استفاده از فایلهای خود باید پس از اتصال کولب به درایو فایلهای مورد نیاز را دانلود کرده و پس از اعمال تغییرات برای جلوگیری از پاک شدن فایلها -فایلهای موجود در کولب پس از ۱۲ ساعت پاک میشوند- آنها را در درایو دانلود کنید.
روش دیگر اینکار اتصال گوگل درایو به صورت یک فایل سیستم FUSE به گوگل کولب است، که در واقع گوگل درایو را در کولب mount میکنیم. از مزیتهای آن این است که فایلها در طرفین همگام و یکسان (sync) بوده و برای استفاده از فایلها نیازی به دانلود و آپلود آنها نیست.
روش اتصال
نصب پیشنیازها
ابتدا با استفاده از دستورات زیر، پکیجهای مورد نیاز را دانلود و نصب میکنیم:
1 2 3 4 5 6 7 |
# Install a Drive FUSE wrapper. # https://github.com/astrada/google-drive-ocamlfuse !apt-get update -qq 2>&1 > /dev/null !apt-get install -y -qq software-properties-common python-software-properties module-init-tools !add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null !apt-get update -qq 2>&1 > /dev/null !apt-get -y install -qq google-drive-ocamlfuse fuse |
تائید هویت
سپس، با استفاده از اجرای دستور زیر و باز کردن لینک داده شده، در اکانت خود وارد شده و کد داده شده را در قسمت مربوطه وارد میکنیم تا اجازه اتصال گوگل کولب به گوگل درایو را بدهیم:
1 2 3 |
# Generate auth tokens for Colab from google.colab import auth auth.authenticate_user() |
همچنین، با دستورات زیر همانند مراحل بالا اجازه دسترسی فایل سیستم FUSE را به گوگل درایو میدهیم:
1 2 3 4 5 6 7 8 9 |
# Generate creds for the Drive FUSE library. from oauth2client.client import GoogleCredentials creds = GoogleCredentials.get_application_default() import getpass # Work around misordering of STREAM and STDIN in Jupyter. # https://github.com/jupyter/notebook/issues/3159 prompt = !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL vcode = getpass.getpass(prompt[0] + '\n\nEnter verification code: ') !echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} |
اتصال
حال فولدری در فایل سیستم گوگل کولب به نام drive ساخته و گوگل درایو را در آن mount میکنیم:
1 2 3 4 5 6 7 8 9 |
# Create a directory and mount Google Drive using that directory. !mkdir -p drive !google-drive-ocamlfuse drive print 'Files in Drive:' !ls drive/ # Create a file in Drive. !echo "This newly created file will appear in your Drive file list." > drive/created.txt |
پس از اجرا لیست فایلهای دایرکتوری drive چاپ میشود که درواقع تمامی فایلهای گوگل درایو شما هستند.
شبکه های اجتماعی