30
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Tips】Google Colaboratory でPythonのファイル入出力演習

Last updated at Posted at 2018-05-02

問題:Google Colaboratory における「ローカル」の扱い

 Python初学者が最初に触れるファイル入出力のコードは「ローカル」のファイルを操作するものになることが多いが、Google Colaboratory ではその「ローカル」が Google Drive のルートのような初学者にとっての直感的位置にはなく、ある種の工夫をする必要がある。

解決方法:files.upload()files.download()

概要

  • 入力準備
    • files.upload()
  • 出力確認
    • files.download()

詳細

入力準備

 Colaboratory にアップロードした.ipynbファイルは Google Drive のルート(直下の場所)に置かれるが、その場所がそのまま Colaboratory 実行時のローカルの参照先ということには残念ながらならない。Colaboratory のローカルにファイルを置くには別途コード上からファイルのアップロードが必要となる。ファイルアップロードには以下のコードを実行する。

upload.py
from google.colab import files
files.upload()

これを実行するとアップロードファイルの選択ボタンが出現する。あとはその選択ボタンを利用して通常のWebサイトにファイルをアップロードするのと同じ要領で上げたいファイルを選択、決定すればアップロードが完了する。アップロードされたファイルは以後のセルで利用可能となる。この状態で

input.py
with open("【入力ファイル名】", 'r') as f:
    print(f.read())

などとやればエラーなく実行できる。

出力確認

 ローカルへのファイルの出力は、通常通り

output.py
with open("【出力ファイル名】", "w") as f:
    f.write("【出力内容】")

などとすれば Colaboratory のローカルに書き込まれる。正常に書き込まれたかどうかの確認は改めて read で読み込んで表示するなどしても良いが、より直感的にファイルとして作成されたことを確認するには、ローカルに作成されたファイルをダウンロードするのが良い。

download.py
from google.colab import files
files.download("【出力ファイル名】")

上記コードをセルにして実行すればダウンロードが行われる。もちろん import 文は以前行っている場合には不要である。

参考文献

30
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?