【Python標準ライブラリ編 #7】http.serverで一瞬でファイル共有!超簡易Webサーバーを立てよう

ALL

こんにちは、Tech Samuraiです!
これまでの標準ライブラリの冒険で、私たちはPCのファイルを整理し、時間を計算し、メールまで送信できるようになりました。今回は、シリーズの締めくくりとして、Pythonが隠し持つ、最高にクールで実用的な「奥義」を探検します。

友人や家族と同じWi-Fiにいるとき、「このフォルダの写真を全部、相手のスマホに送りたいな…」と思ったことはありませんか? USBメモリを探したり、クラウドストレージにアップロードして共有リンクを送ったり… ちょっとした共有にしては、なかなかの手間ですよね。

もし、**たった一行のコマンドで、あなたのPCの特定のフォルダを、即席のWebサイトに変身させ、同じネットワーク内の誰でもファイルにアクセスできるようにできる**としたら、どうでしょう?

それを可能にするのが、Pythonの標準ライブラリ**`http.server`**です。今回は、この魔法のようなツールを使い、あなたのPCを数秒でファイル共有サーバーに変身させる方法を学びます!


ステップ1:魔法の呪文 – `python3 -m http.server`

やり方は驚くほど簡単です。専門的な知識は一切不要です。

  1. まず、共有したいファイルが入っているフォルダを準備します。(例: `~/Pictures/旅行の写真`)
  2. ターミナルを開き、`cd`コマンドで、その共有したいフォルダに移動します。 # 例:デスクトップ上の「share_folder」に移動する cd ~/Desktop/share_folder
  3. そして、以下の魔法の呪文を唱える(入力する)だけです! python3 -m http.server

実行すると、ターミナルに以下のようなメッセージが表示されます。

Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

これだけです!信じられないかもしれませんが、この瞬間、あなたのPCのそのフォルダは、Webサーバーとして動き始めました。-m`は、Pythonのモジュールをスクリプトとして実行するためのオプションです。


ステップ2:共有フォルダにアクセスする – ローカルIPアドレスの確認

サーバーは起動しましたが、他のPCやスマホからアクセスするには、サーバーの「住所」が必要です。それが、あなたのPCの**ローカルIPアドレス**です。

自分のIPアドレスを確認する方法

ターミナルやコマンドプロンプトで、お使いのOSに応じて以下のコマンドを入力します。

  • Mac / Linux: ifconfig または ip a
  • Windows: ipconfig

表示された情報の中から、192.168.1.5 のように、192.168.で始まることが多いアドレスを探してください。それがあなたのローカルIPアドレスです。

他のデバイスから接続する

  1. 共有したい相手のスマートフォンやPCが、**あなたと全く同じWi-Fiネットワークに接続されている**ことを確認します。
  2. 相手のデバイスのWebブラウザ(ChromeやSafariなど)を開きます。
  3. アドレスバーに、先ほど調べたIPアドレスと、ポート番号`8000`を組み合わせて入力します。 例: http://192.168.1.5:8000

どうでしょう?ブラウザに、あなたが共有したフォルダの中身が、ファイル名の一覧として表示されたはずです!ファイル名をクリックすれば、ダウンロードが始まります。

サーバーを停止するには、ターミナルに戻り、`Ctrl + C`を押してください。


便利な小技と注意点

  • ポート番号の変更: もしポート`8000`が他のプログラムで使われている場合は、python3 -m http.server 8080 のように、後ろに好きなポート番号を指定できます。
  • 【重要】セキュリティについて: このサーバーは非常にシンプルで、パスワードなどのセキュリティ機能は一切ありません。**必ず自宅やオフィスなどの、信頼できるプライベートなネットワーク内でのみ使用してください。** 公共のWi-Fiなどで実行すると、同じネットワークにいる不特定多数の人に、あなたのファイルが丸見えになってしまいます。

まとめ

今回は、Pythonの標準ライブラリ`http.server`を使い、たった一行のコマンドで、あなたのPCを簡易的なファイル共有サーバーに変身させる方法を探検しました。

この驚くべき手軽さは、Pythonの「Batteries Included(電池付属)」という設計思想を完璧に体現しています。特別なソフトウェアをインストールしなくても、Pythonさえ入っていれば、これほど強力で実用的な機能がすぐに使えるのです。

これにて、Python標準ライブラリの冒険シリーズは一区切りです。ファイル操作、時間、データ保存、メール送信、そして簡易サーバーまで、あなたはPythonに標準で備わっている強力なツール群を使いこなす術を身につけました。これらの武器を手に、ぜひあなた自身の課題を解決する、新しいプロジェクトに挑戦してみてください!

コメント

タイトルとURLをコピーしました