こんにちは、Tech Samuraiです!
これまでの標準ライブラリの冒険で、私たちはPCのファイルを整理し、時間を計算し、メールまで送信できるようになりました。今回は、シリーズの締めくくりとして、Pythonが隠し持つ、最高にクールで実用的な「奥義」を探検します。
友人や家族と同じWi-Fiにいるとき、「このフォルダの写真を全部、相手のスマホに送りたいな…」と思ったことはありませんか? USBメモリを探したり、クラウドストレージにアップロードして共有リンクを送ったり… ちょっとした共有にしては、なかなかの手間ですよね。
もし、**たった一行のコマンドで、あなたのPCの特定のフォルダを、即席のWebサイトに変身させ、同じネットワーク内の誰でもファイルにアクセスできるようにできる**としたら、どうでしょう?
それを可能にするのが、Pythonの標準ライブラリ**`http.server`**です。今回は、この魔法のようなツールを使い、あなたのPCを数秒でファイル共有サーバーに変身させる方法を学びます!
ステップ1:魔法の呪文 – `python3 -m http.server`
やり方は驚くほど簡単です。専門的な知識は一切不要です。
- まず、共有したいファイルが入っているフォルダを準備します。(例: `~/Pictures/旅行の写真`)
- ターミナルを開き、`cd`コマンドで、その共有したいフォルダに移動します。
# 例:デスクトップ上の「share_folder」に移動する cd ~/Desktop/share_folder
- そして、以下の魔法の呪文を唱える(入力する)だけです!
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アドレスです。
他のデバイスから接続する
- 共有したい相手のスマートフォンやPCが、**あなたと全く同じWi-Fiネットワークに接続されている**ことを確認します。
- 相手のデバイスのWebブラウザ(ChromeやSafariなど)を開きます。
- アドレスバーに、先ほど調べた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に標準で備わっている強力なツール群を使いこなす術を身につけました。これらの武器を手に、ぜひあなた自身の課題を解決する、新しいプロジェクトに挑戦してみてください!
コメント