メインコンテンツへスキップ
見出し画像

7年間のDropboxをObsidianへ:準備編――まず、Pythonを動かせるようにする

    7年間。

    それだけ長い間使っていると、クラウドストレージはいつの間にか「保存場所」ではなくなる。

    仕事の資料、個人的なメモ、昔ダウンロードしたファイル、画像、PDF、テキスト……。

    「とりあえずDropboxに入れておこう」

    そんなことを繰り返しているうちに、気づけば大量のファイルが積み上がっていた。

    今回、そんな7年間のDropboxを整理して、Obsidianを中心とした自分の情報管理環境へ移行することにした。

    ただし、最初からObsidianに全部放り込もうとしたわけではない。

    むしろ最初にやったことは、

    Pythonを動かせるようにすること。

    「え、Obsidianの話なのにPython?」

    と思うかもしれない。

    これが今回の移行で、最初にぶつかった壁だった。


    そもそも、なぜObsidianなのか?

    これまでの自分にとって、Dropboxは非常に便利だった。

    ファイルを放り込んでおけば、PCが変わってもアクセスできる。

    仕事でもプライベートでも、とりあえず保存しておけば安心。

    問題は、その「とりあえず」が7年間積み重なったことだった。

    ファイルが増える。

    フォルダも増える。

    似たような名前のファイルも増える。

    そして、

    「これ、どこに保存したっけ?」

    が始まる。

    もちろんDropboxの検索機能は優秀だ。

    でも、今回やりたかったのは単純な「ファイル検索」ではなかった。

    自分が過去に集めてきた情報を、

    あとから読み返せる形にしたい。

    さらに、

    情報同士をつなげたい。

    そこで候補になったのがObsidianだった。

    ObsidianはMarkdownファイルをベースにしたノートアプリ。

    ノート同士をリンクできるので、単純なフォルダ管理とは違った情報の整理ができる。

    「これはどのフォルダに入れるべきか?」

    ではなく、

    「この情報は、何とつながっているのか?」

    という考え方ができる。

    7年間ため込んだ情報を、単なる「ファイルの山」から「自分の知識」に変えてみたい。

    そんなところから今回の移行が始まった。


    しかし、いきなりObsidianには入れない

    ここで問題が出てきた。

    Dropboxの中を見てみると、ファイルの種類も数もかなり多い。

    しかも、全部がMarkdownではない。

    PDFもある。

    画像もある。

    テキストファイルもある。

    そして、今回の調査でかなり重要な存在になったのが、

    .paperファイル。

    最初は、

    「これ、なんだ?」

    というところから始まった。

    しかも調べていくと、どうやらこのファイルが大量に存在する。

    最終的には、1,000件を超える.paperファイルが見つかった。

    ここまで来ると、さすがに手作業で確認する気にはならない。

    1個ずつ開いて、

    「これは何のファイル?」

    「これは必要?」

    「これはObsidianに持っていける?」

    なんてやっていたら、7年間のDropboxを整理するだけで人生が終わる。

    そこで、

    「プログラムで中身を調べればいいんじゃない?」

    となった。


    そこでPython

    自分はIT関係の仕事をしている。

    とはいえ、普段からPythonを書いているわけではない。

    今回のために、

    Pythonを使ってDropboxのファイルを一括調査する

    という方向に進むことにした。

    ここで大事なのは、

    「いきなり移行プログラムを作ろう!」

    とはしなかったこと。

    まず、

    Pythonを動かせる環境を作る。

    ここから始めることにした。


    Pythonをインストールする

    まずはPythonそのものを使える状態にする。

    ここでやったことは、ものすごくシンプル。

    Pythonをインストールして、

    python --version
    

    などのコマンドで、ちゃんと動くことを確認する。

    たったこれだけ。

    ……なのだけれど、こういう環境構築って、なぜか妙に緊張する。

    プログラミング以前に、

    「そもそもPythonってどうやって動かすんだっけ?」

    というところから始まるからだ。


    VS Codeも準備する

    Pythonを書くためのエディタとして、Visual Studio Codeも使うことにした。

    いわゆるVS Code。

    これも、

    「Pythonを書いて実行する」

    という目的だけなら、最初から難しいことをする必要はない。

    Pythonの拡張機能を入れて、

    .pyファイルを作って、

    簡単なコードを書いて、

    実行してみる。

    まずはそこまで。


    最初の一歩は「Hello World」

    プログラミングの世界ではおなじみの、

    print("Hello World")
    

    から始める。

    実行して、

    Hello World
    

    と表示された。

    これだけ。

    でも今回に限って言えば、この瞬間が結構重要だった。

    なぜなら、

    「これで7年間のDropboxをPythonで調査できる」

    という入口に立てたからだ。

    もちろん、この時点では何も整理できていない。

    Dropboxの中身もほとんど変わっていない。

    .paperファイルも1,000件以上残ったまま。

    それでも、

    「手作業で全部見る」から「プログラムに調べてもらう」

    という発想に切り替わった。

    ここが今回の移行における最初の大きな転換点だった。


    最初から完璧なスクリプトを作らない

    今回、かなり意識したのがこれ。

    最初から完璧なプログラムを作ろうとしない。

    いきなり、

    「Dropboxを解析して、必要なファイルだけ抽出して、Markdownに変換して、Obsidianに配置して……」

    なんてやろうとすると、たぶん途中でわけが分からなくなる。

    なので、

    1. Pythonを動かす

    2. ファイルを読み込む

    3. ファイル一覧を取得する

    4. 拡張子を調べる

    5. .paperファイルを探す

    6. 中身を確認する

    7. どう変換するか考える

    というように、少しずつ進めることにした。

    つまり、

    「移行する」のではなく、「まず調査する」。

    この順番にした。


    AIにもかなり助けてもらった

    そして今回、ここが昔の環境構築とは大きく違ったところ。

    分からないことがあれば、AIに聞く。

    Pythonのコードを書いてもらう。

    エラーが出たら、そのエラーを見てもらう。

    「このファイルって何?」

    「このコードは何をしている?」

    「この処理を追加したい」

    そんな感じで、一つずつ壁打ちしながら進めていった。

    昔だったら、

    「Pythonの勉強をしてから始めよう」

    となっていたかもしれない。

    でも今回は逆だった。

    「やりたいことがあるから、そのためにPythonを覚える」

    という進め方。

    これが意外と楽しかった。


    そして、Dropboxの中を覗いてみる

    Pythonが動くようになったら、いよいよDropboxの中を調べられる。

    まずはファイルを一覧化する。

    どんな拡張子があるのか。

    どのくらいの数があるのか。

    どんなフォルダ構成になっているのか。

    そして、どんなファイルが大量に眠っているのか。

    ここで初めて、

    「自分は7年間、何をDropboxに保存してきたんだ?」

    という現実を見ることになる。

    その結果、出てきたのが大量の.paperファイルだった。

    しかも、

    1,000件超。

    この瞬間、

    「これは普通に整理するだけじゃ無理だな」

    と悟った。


    「ファイル整理」から「データ移行」へ

    ここまで来ると、今回やっていることの意味が少し変わってくる。

    最初は、

    「Dropboxを整理してObsidianに移そう」

    くらいの軽い気持ちだった。

    でも、実際に中身を調べ始めると、

    これは単なるファイル整理ではない。

    7年間分のデジタル資産を棚卸しして、再構築する作業

    になっていた。

    しかも、そのためには、

    「何があるのか」

    を知らなければならない。

    だからこそ、最初にPythonを動かせる環境を作った意味があった。

    人間が1,000件、2,000件とファイルを眺めるのではなく、

    まず機械に全体像を調べてもらう。

    その結果を見て、人間が判断する。

    この役割分担が、今回の移行ではかなり重要になった。


    準備編のまとめ

    今回の「準備編」でやったことをまとめると、こんな感じ。

    • 7年間使ったDropboxをObsidianへ移行することを決めた

    • いきなり移行せず、まずDropboxの中身を調査することにした

    • 大量のファイルを手作業で確認するのは現実的ではないと判断

    • Pythonを使ってファイルを一括調査する方針にした

    • Pythonの実行環境を用意した

    • VS Codeを準備した

    • 簡単なPythonプログラムを実行して動作確認した

    • Dropboxのファイル構成を調査した

    • 1,000件を超える.paperファイルの存在を確認した

    ここまで来れば、準備は完了。

    いよいよ次は、

    「じゃあ、この1,000件超の.paperファイルって、一体何なんだ?」

    という話になる。

    そして、実際にPythonでDropboxの中を覗いてみると、

    思っていた以上にいろいろなものが出てきた。


    次回:調査・設計編

    7年間のDropboxをObsidianへ:調査・設計編――Pythonで覗いてみたら、.paperが1,000件を超えていた

    次回は、実際にPythonを使ってDropboxを調査。

    ファイルの種類や数を洗い出し、

    大量に存在していた.paperファイルの正体を確認する。

    そして、

    「これ、どうやってObsidianに持っていけばいいんだ?」

    という、いよいよ本格的な設計問題に突入していく。

    7年間分のデータを相手に、

    人間がやること。

    Pythonにやらせること。

    AIに相談すること。

    この3つをどう分担していったのか。

    そこから、今回の移行が「単なるデータ整理」ではなくなっていく。

    続く。

    あなたへのおすすめ